You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何从Instagram消息范围ID获取真实账号ID

解决Instagram消息Webhook接收者ID关联真实账号ID的问题

核心方案:提前存储IG账号与关联Page的映射关系

Webhook返回的接收者ID(消息范围ID)本质是该Instagram账号绑定的Facebook企业主页ID,你可以在用户授权阶段提前获取并存储两者的映射,后续收到Webhook时直接匹配:

  1. 用户授权后获取关联Page ID
    当用户通过Instagram OAuth授权你的应用并拿到真实IG账号ID(如1234)后,调用Instagram Graph API端点:

    GET /{ig_user_id}?fields=connected_pages
    

    该请求会返回该IG账号绑定的所有Facebook Page信息,提取其中的Page ID(如5678),将IG账号ID <-> Page ID的映射关系存入数据库。

  2. Webhook事件匹配真实IG账号
    收到消息Webhook时,取出事件中的接收者ID(即Page ID 5678),直接在数据库中查询对应的IG账号ID(1234)即可完成关联。

特殊情况处理

如果你的Instagram账号未绑定Facebook Page,消息Webhook的接收者ID会是该账号的消息范围IG ID,此时直接调用:

GET /{message_scoped_ig_id}?fields=id

用用户授权时获取的访问令牌请求该端点,就能返回真实的IG账号ID。

权限说明

确保你的应用在OAuth授权流程中请求了pages_show_list权限,否则无法通过connected_pages字段获取关联Page信息。

内容的提问来源于stack exchange,提问作者lerxstrulz

火山引擎 最新活动