新手指南

本文件會講解如何透過您的應用程式成功呼叫 Instagram Graph API,並獲取 Instagram 商業帳戶或創作者帳戶的媒體物件。在本文中,我們假設您已熟悉 Graph API Facebook 登入,並知道如何執行 REST API 呼叫。如果您還沒有應用程式,則可改用 Graph API 測試工具並略過步驟 1 和步驟 2。

準備工作

您將需要擁有以下項目的存取權:

1.配置 Facebook 登入

在應用程式管理中心中,為您的應用程式加入 Facebook 登入產品。

您可保留所有預設設定。如果您選擇手動執行 Facebook 登入(不建議做法),請在有效 OAuth 重新導向 URI 欄位中輸入您的 redirect_uri。如果您選擇使用我們的其中一款 SDK,則可將此欄位留空。

2.執行 Facebook 登入

請遵從我們為您的平台而設的 Facebook 登入文件,並將 Facebook 登入執行至您的應用程式。設定您的應用程式,以要求這些權限:

3.取得用戶存取憑證

執行 Facebook 登入後,請確保您已登入 Facebook 開發人員帳戶,然後存取應用程式並觸發 Facebook 登入模組。請記住,您的 Facebook 開發人員帳戶必須能夠在已連結至您想查詢的 Instagram 帳戶的 Facebook 頁面上執行任務

觸發模組之後,點擊確定來為您的應用程式授予 instagram_basicpages_show_list 權限。

API 應會傳回用戶存取憑證。擷取該憑證,以供您的應用程式在接下來的數個查詢中使用。如果您使用的是 Graph API 測試工具,系統會自動擷取此憑證,並將之顯示在存取憑證欄位以供參考:

4.獲取用戶專頁

查詢 GET /me/accounts 端點(這將引出 GET /{user-id}/accounts,後者會根據您的存取憑證在 Facebook 用戶節點上執行 GET 要求)。

curl -i -X GET \
 "https://graph.facebook.com/v19.0/me/accounts?access_token={access-token}"

此操作應會傳回一個 Facebook 專頁集合,目前 Facebook 用戶可以在此執行 MANAGECREATE_CONTENTMODERATEADVERTISE 任務:

{
  "data": [
    {
      "access_token": "EAAJjmJ...",
      "category": "App Page",
      "category_list": [
        {
          "id": "2301",
          "name": "App Page"
        }
      ],
      "name": "Metricsaurus",
      "id": "134895793791914",  // capture the Page ID
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ]
}

獲取與您想查詢的 Instagram 帳戶連結的 Facebook 專頁的編號。請記住,您的應用程式用戶可能能夠在多個專頁上執行任務,所以您最終必須引入一套邏輯,能判斷需要捕獲的正確專頁編號(或者,您可設計一個用戶介面,讓您的應用程式用戶能夠為您識別正確的專頁)。

5.獲取專頁的 Instagram 商業帳戶

使用您擷取的專頁編號查詢 GET /{page-id}?fields=instagram_business_account 端點:

curl -i -X GET \
 "https://graph.facebook.com/v19.0/134895793791914?fields=instagram_business_account&access_token={access-token}"

此操作應會傳回已與 Facebook 專頁連結的 Instagram 用戶,即 Instagram 商業帳戶或創作者帳戶。

{
  "instagram_business_account": {
    "id": "17841405822304914"  // Connected IG User ID
  },
  "id": "134895793791914"  // Facebook Page ID
}

擷取 Instagram 用戶編號。

6.獲取 Instagram 商業帳戶的媒體物件

使用您擷取的 Instagram 用戶編號查詢 GET /{ig-user-id}/media 端點:

curl -i -X GET \
 "https://graph.facebook.com/v19.0/17841405822304914/media?access_token={access-token}"

此操作應會傳回 Instagram 用戶上所有 Instagram 媒體物件的編號:

{
  "data": [
    {
      "id": "17918195224117851"
    },
    {
      "id": "17895695668004550"
    },
    {
      "id": "17899305451014820"
    },
    {
      "id": "17896450804038745"
    },
    {
      "id": "17881042411086627"
    },
    {
      "id": "17869102915168123"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13",
      "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3"
    }
  }
}

如果您可以成功執行這個最終查詢,您應該能夠使用任何 Instagram Graph API 端點執行查詢。您只需參考我們的各種指南和參考文件,了解每個端點可以執行的操作及其所需權限。

後續步驟

  • 進一步開發您的應用程式,以便應用程式成功使用所需的任何其他端點,並追蹤每個端點所需的權限
  • 完成應用程式審查流程,要求核准您的應用程式所需的所有權限,讓您的應用程式在處於已發佈模式時,用戶可向其授予這些權限
  • 將您的應用程式切換至已發佈模式,並推銷給潛在用戶

您的應用程式處於已發佈模式後,任何可使用您應用程式的 Facebook 用戶均可存取 Instagram 商業帳戶或創作者帳戶的資料,前提是他們的 Facebook 用戶帳戶可在已連結至該 Instagram 商業帳戶或創作者帳戶專頁上執行任務。