概覽

Instagram Graph API 是一組 Facebook Graph API 端點,可以讓應用程式存取 Instagram 專業帳戶(即商業及創作者帳戶)中的資料。如果您不熟悉 Facebook Graph API,請在繼續之前查閱我們的 Graph API 文件

基本網址

您可以透過 graph.facebook.com 主機存取所有端點。

應用程式用戶

Instagram 專業帳戶可透過 Facebook 帳戶間接存取,因此您的應用程式用戶必須擁有 Facebook 帳戶,並在登入您的應用程式時使用此帳戶。此外,此 Facebook 帳戶必須能夠在 Facebook 專頁上執行管理員級別的任務,而此 Facebook 專頁必須已經與用戶打算存取的 Instagram 帳戶連接

這些要求適用於所有應用程式用戶,甚至包括在您的應用程式中擁有角色的用戶,或在已認領應用程式的企業中擁有角色的用戶。

驗證

系統透過存取憑證處理應用程式用戶身分驗證。Instagram 專業帳戶可透過 Facebook 帳戶間接存取,因此所有 API 要求必須包含您應用程式用戶的 Facebook 用戶存取憑證。您可以透過執行 Facebook 登入來向應用程式用戶獲取憑證。請注意,Facebook 登入不支援 Instagram 憑證,因此應用程式用戶必須使用 Facebook 帳戶登入。

授權

端點授權由權限功能處理。您必須首先向應用程式用戶要求端點所需的所有權限,您的應用程式才可以使用相關端點存取應用程式用戶的 Instagram 數據。應用程式用戶必須在收到要求後為應用程式授予這些權限。授予權限後,您可以透過查詢端點來存取用戶的數據。

請注意,權限只允許您存取授予該權限的用戶所建立的數據。有一些端點允許應用程式存取不是由該應用程式用戶所建立的數據,但可存取的數據範圍有限且公開。

您可以執行 Facebook 登入以向應用程式用戶獲取權限。在您應用程式中擁有角色的應用程式用戶可以授予任何要求的權限。在您應用程式中沒有角色的應用程式用戶只能透過應用程式審查程序授予權限和功能。

此 API 使用以下權限和功能:

請參閱我們的端點參考資料,以決定您的應用程式需要向應用程式用戶要求哪些權限和功能。

Instagram 訊息收發功能

如果您計劃在 Messenger 平台執行 Instagram 訊息功能,您需要加入 instagram_manage_messages 權限。進一步了解 Instagram 訊息收發功能。

協作者

借助 Instagram 合作功能,Instagram 應用程式用戶可與其他帳戶(協作者)共同創作內容(即發佈媒體)。

除少數例外情況外,只有發佈媒體的用戶可以透過 API 存取共同創作媒體當中或相關的資料;協作者無法透過 API 存取這類資料。只有在搜尋表現最佳的媒體或最近發佈並標註了特定主題標籤的媒體時方為例外。請參閱主題標籤搜尋一文。

專頁

Instagram 專業帳戶必須先與 Facebook 專頁連結,您才可透過 API 存取其數據。連結成功後,任何可在該專頁執行任務的 Facebook 用戶均可向您的應用程式授予存取憑證,以便在 API 要求中使用。

我們的幫助文章「新增或更改已連結 Instagram 商業帳戶的 Facebook 專頁」講解了如何將 Facebook 專頁連結至 Instagram 專業帳戶。

任務

如要讓應用程式用戶為您的應用程式授予權限,應用程式用戶必須能夠在自己試圖存取的 Instagram 商業帳戶所連結之 Facebook 專頁上執行任務。應用程式用戶可以根據自己能夠執行的任務為您的應用程式授予權限,如下所示:

權限MANAGECREATE_CONTENTMODERATEADVERTISEANALYZE

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

您可以使用應用程式用戶的用戶存取憑證來查詢 GET /me/accounts 端點,以決定應用程式用戶能夠在專頁上執行哪些任務。端點將根據應用程式用戶可以在哪些專頁上執行任務來傳回相關專頁清單,並且指明用戶可以在各個專頁上執行哪些任務。

請參閱參考文件以查看每個端點的所需權限。API 不支援企業管理平台系統用戶,或具有共同主播角色的應用程式用戶。

參照任務

如果您需要通知您的應用程式用戶有關任務的相關事宜(以及需要使用哪些任務才可合適地使用您的應用程式),請參考下文,了解我們在不同用戶介面中參照任務的方式。

經典版專頁

經典版專頁稱任務為「角色」。在專頁上具有管理員角色的應用程式用戶可以為您的應用程式授予任何權限。擁有其他角色的應用程式用戶可以授予以下權限:

角色可授予的權限

編輯

instagram_basic
instagram_content_publish

版主

instagram_basic
instagram_manage_comments
instagram_manage_insights

廣告客戶

instagram_basic
instagram_manage_insights

分析員

instagram_basic
instagram_manage_insights

全新體驗版專頁

新版體驗專頁稱任務為「Facebook 權限」或「任務權限」。在專頁上具有 Facebook 權限的應用程式用戶可以為您的應用程式授予任何權限。具有任務權限的應用程式用戶可以授予以下權限:

任務權限可授予的權限

廣告

instagram_basic

內容

instagram_basic
instagram_content_publish

洞察報告

instagram_basic
instagram_manage_insights

訊息以及社群動態

instagram_basic
instagram_manage_comments

如要確定專頁是否正在使用新版專頁體驗,您可以要求其 has_transitioned_to_new_page_experience 欄位。如果專頁正在使用新版體驗,此值會傳回 true

應用程式審查

您的應用程式必須先完成應用程式審查,以下應用程式用戶才可使用您的應用程式:在您的應用程式中沒有角色的用戶,或在已認領應用程式的企業中沒有角色的用戶。如果您的應用程式只能由擁有應用程式角色或企業角色的用戶使用,則無需完成應用程式審查。

如果您已執行 Facebook 登入且應用程式已公開發佈,則您的應用程式審查提交資料中無需包含任何 Facebook 測試用戶憑證。不過,如果我們的審查人員需要登入非 Facebook 帳戶以觸發您的 Facebook 登入執行,您便必須在提交資料中包含非 Facebook 帳戶憑證。

不公開應用程式

如果您的應用程式位於私人內聯網中、沒有用戶介面,或未執行 Facebook 登入,因而導致我們的審查人員無法測試您的應用程式,那麼您將只能要求以下權限:

商家驗證

如果您應用程式的使用對象是沒有任何應用程式角色或企業角色(已認領應用程式)的應用程式用戶,您便必須先完成商家驗證

限速

所有端點均受 Instagram Business 使用案例限速約束,但商家發現主題標籤搜尋端點除外,這兩者受平台限速約束。

Webhooks

您可以借助 Webhooks 在以下情況接收通知:每當有人在您應用程式用戶的媒體物件上留言,或當應用程式用戶的任何限時動態過期。請參閱我們的 Webhooks 文件以了解如何使用 Webhooks,然後為 Instagram 主題設定 Webhooks 並訂閱其 commentsstory_insights 欄位。

Instagram 訊息收發功能

您的應用程式用戶可以結合使用多種 Instagram Graph API 與 Messenger 平台端點,以查看傳送至其 Instagram 專業帳戶的 direct 訊息。請參閱 Messenger 平台的 Instagram 訊息功能文件,了解如何存取 Instagram 商業帳戶中的訊息。