如何通过API利用POST链接获取Instagram媒体ID及帖子互动数据
通过Instagram API获取帖子媒体ID及互动数据的解决方案
前提条件
- 拥有Meta开发者账号,创建并配置好应用
- 应用需申请并通过以下权限审核:
pages_show_list、instagram_basic、pages_read_engagement - 目标Instagram账号需为企业/创作者账号,并关联到对应的Facebook公共主页
步骤1:提取帖子短代码
从Instagram帖子链接中提取短代码(即链接中/p/后的部分):
示例链接:https://www.instagram.com/p/ABC123/ → 短代码为ABC123
步骤2:通过短代码获取媒体ID
使用Meta Graph API的instagram_oembed端点,直接通过帖子链接获取媒体ID:
GET https://graph.facebook.com/v18.0/instagram_oembed?url=https://www.instagram.com/p/{短代码}/&access_token={你的访问令牌}
返回结果示例(简化):
{ "media_id": "1234567890123456789", "title": "", "author_name": "示例账号" }
其中media_id即为目标帖子的媒体ID。
步骤3:获取点赞、评论、分享数
拿到媒体ID后,调用媒体详情端点获取互动数据:
GET https://graph.facebook.com/v18.0/{媒体ID}?fields=id,like_count,comment_count,share_count&access_token={你的访问令牌}
返回结果示例:
{ "id": "1234567890123456789", "like_count": 1500, "comment_count": 80, "share_count": 45 }
常见问题排查
- 权限错误:检查应用权限是否通过审核,确认Instagram账号已关联到正确的Facebook主页
- 无法获取私有帖子数据:私有帖子仅对账号所有者或授权用户开放,公开API无法访问
- share_count返回null:部分帖子类型(如Reels)的分享统计可能未在API中返回,或需使用更高版本的Graph API
- 短代码无效:确认短代码提取正确,帖子未被删除或设置为私密
内容的提问来源于stack exchange,提问作者Yash Patel
相关产品推荐
相关产品推荐

