新手指南

本文件旨在說明如何透過應用程式成功呼叫 Instagram 圖形 API,並取得 Instagram 商業帳號或創作者帳號的影音素材物件。文中會假設您已熟悉圖形 APIFacebook 登入,且知道如何執行 REST API 呼叫。如果您還沒有應用程式,可以改用圖形 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 應會傳回用戶存取權杖。請擷取這個權杖,方便應用程式在接下來的幾個查詢中使用。如果您是使用圖形 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 用戶可在上面執行 MANAGECREATE_CONTENTMODERATEADVERTISE 任務的 Facebook 粉絲專頁集合:

{
  "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 粉絲專頁的 IG 用戶(Instagram 商業帳號或創作者帳號)。

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

擷取 IG 用戶編號。

6. 取得 Instagram 商業帳號的影音素材物件

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

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

系統應該會傳回 IG 用戶上所有 IG 影音素材物件的編號:

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

如果您能成功執行這個最終查詢,應該就能使用任何 Instagram 圖形 API 端點執行查詢,請參閱我們提供的各種指南和參考文件,以瞭解每個端點的功能和所需的權限。

後續步驟

  • 請持續開發應用程式,使其能順利使用任何其他所需端點,並追蹤每個端點需要的權限
  • 請完成應用程式審查程序,並要求核准應用程式需要的所有權限,讓應用程式用戶可以在應用程式仍為上線模式時授予這些權限
  • 請將應用程式切換為上線模式並推廣給潛在用戶

一旦應用程式轉為上線模式,凡是可使用您應用程式的 Facebook 用戶,只要擁有能在連結該 Instagram 商業帳號或創作者帳號的粉絲專頁上執行任務的 Facebook 用戶帳號,便能存取 Instagram 商業帳號或創作者帳號的資料。