本文件會講解如何透過您的應用程式成功呼叫 Instagram Graph API,並獲取 Instagram 商業帳戶或創作者帳戶的媒體物件。在本文中,我們假設您已熟悉 Graph API 和 Facebook 登入,並知道如何執行 REST API 呼叫。如果您還沒有應用程式,則可改用 Graph API 測試工具並略過步驟 1 和步驟 2。
在應用程式管理中心中,為您的應用程式加入 Facebook 登入產品。
您可保留所有預設設定。如果您選擇手動執行 Facebook 登入(不建議做法),請在有效 OAuth 重新導向 URI 欄位中輸入您的 redirect_uri
。如果您選擇使用我們的其中一款 SDK,則可將此欄位留空。
執行 Facebook 登入後,請確保您已登入 Facebook 開發人員帳戶,然後存取應用程式並觸發 Facebook 登入模組。請記住,您的 Facebook 開發人員帳戶必須能夠在已連結至您想查詢的 Instagram 帳戶的 Facebook 頁面上執行任務。
觸發模組之後,點擊確定來為您的應用程式授予 instagram_basic
和 pages_show_list
權限。
API 應會傳回用戶存取憑證。擷取該憑證,以供您的應用程式在接下來的數個查詢中使用。如果您使用的是 Graph API 測試工具,系統會自動擷取此憑證,並將之顯示在存取憑證欄位以供參考:
查詢 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 用戶可以在此執行 MANAGE
、CREATE_CONTENT
、MODERATE
或 ADVERTISE
任務:
{ "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 專頁的編號。請記住,您的應用程式用戶可能能夠在多個專頁上執行任務,所以您最終必須引入一套邏輯,能判斷需要捕獲的正確專頁編號(或者,您可設計一個用戶介面,讓您的應用程式用戶能夠為您識別正確的專頁)。
使用您擷取的專頁編號查詢 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 用戶編號。
使用您擷取的 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 商業帳戶或創作者帳戶專頁上執行任務。