Skip to content
简体中文

创建 Instagram 应用并获取账号 Access Token

本文介绍如何在 Meta for Developers 中创建 Instagram 应用,将自己的 Instagram 专业账号添加为测试用户,生成 Instagram User Access Token,并验证该令牌能否读取账号粉丝数。

这套流程适合个人开发、接口调试和应用上线前测试。默认应用仍处于开发模式,因此仅应用管理员、开发者和已接受邀请的测试账号能够使用。

重要说明:本教程使用 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。

如果账号还是普通个人账号,请先在 Instagram 中切换为 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 接口。

四、在 Instagram 中接受测试邀请

登录刚才填写的 Instagram 账号,访问:

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

也可以在 Instagram 设置中依次进入:

text
Website permissions
→ Apps and websites
→ Tester Invites

Tester Invites 标签中找到应用邀请并接受。只有接受邀请后,该账号才会成为有效测试用户。

在 Instagram 中接受 Tester Invite

如果看不到邀请,请确认当前登录的 Instagram 用户名与 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. API 版本选择当前受支持版本,例如截图中的 v25.0
  4. 请求路径输入 me?fields=id,username,followers_count
  5. 将刚才复制的 Token 粘贴到右侧“访问口令”输入框;
  6. 点击 提交

在 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
}

只要返回正确的 idusernamefollowers_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;私信互动用户的 User Profile API 使用 follower_count

4. Explorer 能调用,但自己的程序不能

确认程序发送的是同一个 Token、同一个 API 主机和版本。建议使用 Authorization: Bearer 请求头,并检查服务器是否错误截断了 Token。

5. Token 泄露怎么办

立即在 Meta/Instagram 应用授权设置中撤销它,并重新生成。任何出现在聊天、日志、截图或代码仓库中的 Token 都应视为已经泄露。

参考资料