调用Instagram API获取媒体返回内容不可用,求排查缺失环节
解决Instagram Graph API调用/me/media返回"Sorry, this content isn't available right now"的问题
以下是你可能遗漏的配置或步骤:
确认长期令牌关联的目标Instagram企业账号
转换长期令牌时,要保证初始的短期令牌已经正确绑定了目标Instagram企业号所属的Facebook页面。可以通过令牌调试工具查看令牌的关联资源,确认是否包含对应的Instagram账号ID。如果短期令牌是通过个人账号生成但未关联企业号页面,长期令牌的权限不会覆盖目标账号。验证权限的有效性与应用状态
虽然你申请了pages_show_list、business_management等权限,但要注意:- 若应用处于开发模式,只有添加为应用测试用户/测试页面的账号才能调用API,非测试账号会返回内容不可用错误;
- 若应用是公开模式,需要确保这些权限已经通过Meta的应用审核,否则无法面向普通用户使用;
- 用令牌调试工具检查长期令牌的权限列表,确认
instagram_basic等核心权限处于有效状态(未过期、未被撤销)。
修正API调用的端点格式
对于Instagram企业号,直接使用me作为端点主体是错误的——me在Graph API中默认指代令牌关联的Facebook用户/页面,而非Instagram账号。正确的做法是:- 先通过Facebook页面ID获取关联的Instagram企业号ID,调用示例:
curl -X GET "https://graph.facebook.com/{PAGE_ID}?fields=instagram_business_account&access_token=LONG_TERM_ACCESS_TOKEN" - 使用获取到的Instagram账号ID替换
me,调用媒体接口:curl -X GET "https://graph.instagram.com/{INSTAGRAM_ACCOUNT_ID}/media?fields=id,caption,children,permalink,media_type,media_url,username,thumbnail_url,timestamp&access_token=LONG_TERM_ACCESS_TOKEN"
- 先通过Facebook页面ID获取关联的Instagram企业号ID,调用示例:
检查令牌的权限范围完整性
确认长期令牌完整继承了短期令牌的所有必要权限,部分权限在令牌转换过程中可能出现丢失,比如pages_read_engagement是否允许访问页面关联的Instagram账号数据,需要在令牌调试工具中逐一核对。
内容的提问来源于stack exchange,提问作者Amir Dora.
相关产品推荐
相关产品推荐

