Skip to content

建立 Instagram 應用程式並取得帳戶 Access Token ​

本教學說明如何在 Meta for Developers 建立 Instagram 應用程式、將自己的 Instagram 專業帳戶加入為測試用戶、產生 Instagram User Access Token,並驗證該權杖能否讀取帳戶的粉絲數。

此流程適合個人開發、API 除錯和上線前測試。應用程式預設處於開發模式,因此只有管理員、開發者及已接受邀請的測試帳戶可使用。

重要:本教學使用 Instagram API with Instagram Login,API 主機為 graph.instagram.com。它不同於需要 Facebook Page 的 Instagram API with Facebook Login。

一、準備工作 ​

開始前請準備:

  • 可登入 Meta for Developers 的 Meta/Facebook 開發者帳戶;
  • Instagram 專業帳戶,即 Business 或 Creator 帳戶;
  • 該 Instagram 帳戶的登入權限;
  • 可安全儲存 Access Token 的位置。

若目前是一般個人帳戶,請先切換為 Business 或 Creator。Instagram API with Instagram Login 僅向專業帳戶提供相關功能。

二、建立 Meta 應用程式 ​

開啟 Meta 應用程式列表,登入後按右上角的 Create an application / 建立應用程式。

在 Meta for Developers 建立應用程式

填寫名稱、聯絡電郵等基本資料。在使用案例頁面選擇 Managing messages and content on Instagram / 管理 Instagram 訊息和內容。

選擇 Instagram 管理使用案例

依照頁面提示完成設定。建立成功後,瀏覽器會開啟應用程式 Dashboard。

建立完成後的應用程式 Dashboard

Meta 會不定期調整版面和翻譯。若按鈕名稱不同,可使用 Instagram、Use cases、Application identity 等關鍵字尋找。

三、加入 Instagram 測試用戶 ​

在 Dashboard 左側展開 Application Identity / 應用程式身分,進入用戶管理,再按右上角的 Add user / 加入用戶。

在對話框選擇 Instagram testers,輸入要授權的 Instagram 用戶名稱。不要包含 @;確認帳戶後送出邀請。

加入 Instagram 測試用戶

不要選擇一般 Tester;必須選擇對話框下方獨立列出的 Instagram testers 身分。

部分頁面仍可能顯示舊的「Instagram Basic Display API」文字,這是 Meta 後台文案尚未統一,不代表本教學使用已停用的 Basic Display API。

四、在 Instagram 接受測試邀請 ​

登入剛才加入的 Instagram 帳戶並開啟:

https://www.instagram.com/accounts/manage_access/

亦可在 Instagram 設定依次進入:

text
Website permissions
→ Apps and websites
→ Tester Invites

在 Tester Invites 找到應用程式並接受邀請。接受後,該帳戶才會成為有效測試用戶。

在 Instagram 接受 Tester Invite

若看不到邀請,請確認目前登入的用戶名稱與 Dashboard 中加入的名稱完全相同,並嘗試登出後重新登入。

五、加入 Instagram 帳戶並產生 Token ​

返回 Meta Dashboard,開啟 Use cases / 使用案例,在 Instagram 使用案例旁按 Customize / 自訂。

開啟 Instagram 使用案例設定

在 Instagram API 設定選擇 API setup with Instagram Login。頁面通常會列出:

text
instagram_business_basic
instagram_business_manage_comments
instagram_business_manage_messages

若只驗證帳戶身分和粉絲總數,核心權限是 instagram_business_basic。留言、訊息和發佈權限應按實際功能申請。

找到 Generate access password / Generate access token,按 Add account / 加入帳戶,以已接受邀請的 Instagram 帳戶登入並完成授權。

在 Instagram API 設定加入帳戶

加入後按帳戶旁的 Generate password / Generate token,閱讀提示並確認,然後複製產生的字串。

複製 Instagram Access Token

頁面有時稱它為「Access password」,但它其實是 Instagram User Access Token,不是 Instagram 登入密碼。

Token 通常只完整顯示一次。請立即儲存到密碼管理器、伺服器密鑰庫或環境變數,不要放進原始碼、截圖、聊天、公開日誌或 Git。

六、使用 Graph API Explorer 驗證 Token ​

開啟 Graph API Explorer 並設定:

  1. 方法選擇 GET;
  2. API 主機選擇 graph.instagram.com;
  3. 選擇目前支援的版本,例如截圖中的 v25.0;
  4. 路徑輸入 me?fields=id,username,followers_count;
  5. 將 Token 貼到 Access Token 欄位;
  6. 按 Submit / 提交。

在 Graph API Explorer 驗證 Token

等效請求如下:

http
GET https://graph.instagram.com/v25.0/me?fields=id,username,followers_count
Authorization: Bearer <INSTAGRAM_ACCESS_TOKEN>

亦可使用 cURL:

bash
curl -G "https://graph.instagram.com/v25.0/me" \
  -H "Authorization: Bearer $INSTAGRAM_ACCESS_TOKEN" \
  --data-urlencode "fields=id,username,followers_count"

成功回應範例:

json
{
  "id": "<INSTAGRAM_USER_ID>",
  "username": "your_username",
  "followers_count": 123
}

若回傳正確的 id、username 和 followers_count,即表示 Token、帳戶授權和基本權限已生效。

自己的專業帳戶使用複數欄位 followers_count;Messaging User Profile API 查詢私訊互動用戶時使用單數 follower_count。

七、適用範圍與限制 ​

本教學產生的測試 Token 主要供應用程式管理員或 Instagram 測試帳戶開發除錯。

它只能直接讀取已授權目前應用程式的 Instagram 專業帳戶,不能只憑用戶名稱查詢任意個人帳戶,也不能讀取未授權帳戶的私人資料。

在開發模式下,只有應用程式角色和已接受邀請的測試帳戶可授權。若要供客戶使用,需實作正式 Instagram Login/OAuth,並按權限完成發佈、商業驗證或 App Review。

如需查詢其他未授權的公開 Business/Creator 帳戶,應評估 Instagram API with Facebook Login 的 Business Discovery。本教學的 Instagram Login Token 不能直接使用該功能。

八、常見問題 ​

1. 加入帳戶時找不到 Instagram 用戶 ​

確認帳戶已加入為 Instagram tester,並在 Instagram 的 Tester Invites 接受邀請。只在 Dashboard 輸入用戶名稱並不足夠。

2. 回傳 Invalid OAuth access token ​

確認主機是 graph.instagram.com、Token 沒有多餘空格,且未過期或撤銷。不要把 Instagram Login Token 傳給 graph.facebook.com 的 Business Discovery。

3. 回傳 Tried accessing nonexisting field ​

檢查欄位拼寫和物件類型。自己的專業帳戶使用 followers_count;Messaging User Profile API 使用 follower_count。

4. Explorer 可用,但自己的程式不能 ​

確認程式使用相同 Token、API 主機和版本。建議使用 Authorization: Bearer 標頭,並檢查伺服器是否截斷 Token。

5. Token 洩漏怎麼辦 ​

立即在 Meta/Instagram 授權設定撤銷並重新產生。任何出現在聊天、日誌、截圖或程式庫中的 Token 都應視為已洩漏。

參考資料 ​