已完成OAuth等操作,如何通过Instagram API获取媒体点赞/评论数?
问题诊断与解决方案
1. 账号类型限制是核心原因
普通个人Instagram账号无法通过Graph API获取like_count和comments_count字段,只有Instagram Business账号或Creator账号(且已关联对应的Facebook Page)才能访问这些互动数据字段。如果你的账号是普通个人号,这就是无法获取数据的根本原因。
2. 权限范围不足
如果已经是Business/Creator账号,需要确认你的访问令牌包含以下必要权限:
instagram_basic:基础媒体数据访问权限pages_read_engagement:关联Facebook Page的互动数据访问权限(必须关联Page才能获取点赞、评论数)- 若需管理评论还需
instagram_manage_comments,但仅获取评论数的话pages_read_engagement通常足够
生成令牌时,必须在OAuth授权流程中明确请求这些权限,否则即使令牌有效,也无法访问目标字段。
3. API请求的注意事项
- 优先使用当前稳定支持的API版本(比如v18.0,v15.0已逐步退出支持,部分字段可能被移除)
- 确认媒体ID归属:确保请求的媒体ID属于已授权的账号,且该媒体为公开状态(私密账号的媒体数据无法通过API获取)
- 正确请求格式示例:
https://graph.instagram.com/v18.0/me/media?fields=id,caption,comments_count,like_count,media_type,media_url,thumbnail_url&access_token=YOUR_LONG_LIVED_TOKEN
4. 验证令牌权限
可以通过以下请求检查令牌的权限范围,确认是否包含所需权限:
https://graph.instagram.com/debug_token?input_token=YOUR_TOKEN&access_token=YOUR_APP_ID|YOUR_APP_SECRET
在返回的scopes字段中,查看是否存在上述提到的权限项。
内容的提问来源于stack exchange,提问作者Kevin Colbert
相关产品推荐
相关产品推荐

