You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Instagram Graph API与Python获取帖子点赞用户及报错求解

问题排查与解决说明

是否可以获取点赞用户列表

是,Instagram Graph API支持获取公开商业/创作者账号的帖子点赞用户列表,但存在权限和账号类型限制。

报错原因排查

你遇到的(#100) Tried accessing nonexisting field (reactions) on node type (ShadowIGMedia)报错由以下几个核心问题导致:

  • 你调用的媒体ID对应的Instagram账号为普通个人账户,未升级为商业账号/创作者账号,也未绑定Facebook公共主页,这类账号的媒体对象在Graph API中属于ShadowIGMedia节点,不支持查询likes字段
  • 你当前使用的应用未申请instagram_basic权限,或授权的access token没有对应账号的操作权限
  • 你的代码存在变量未定义的问题:getMediaLikes函数未接收object_id参数,拼接url时直接调用的object_id属于未定义变量,可能传入了错误的媒体对象ID

修正方案

前置准备

  1. 将目标Instagram账号升级为商业账号/创作者账号,绑定对应Facebook公共主页
  2. 在Meta开发者后台为你的应用申请instagram_basic权限,完成应用审核(如果是公开应用)
  3. 获取绑定主页后对应账号的有效access token,以及正确的帖子媒体ID

修正后代码示例

def getMediaLikes(params, object_id):
    """
    获取指定Instagram帖子的点赞用户列表
    API Endpoint:
        https://graph.facebook.com/{version}/{object-id}?fields=likes.summary(true)&access_token={access-token}
    Returns:
        object: 接口返回的点赞数据
    """
    endpointParams = dict()
    endpointParams['fields'] = 'likes.summary(true)'
    endpointParams['access_token'] = params['access_token']
    # 注意需要拼接API版本,建议使用v18及以上稳定版本
    url = f"{params['graph_domain']}{params['api_version']}/{object_id}"
    return makeApiCall(url, endpointParams, params['debug'])

额外注意事项

  • 单篇帖子最多只能拉取最近1000条点赞数据,无法全量获取所有历史点赞用户
  • 私有账号的帖子点赞数据无法通过Graph API获取
  • 该接口有调用频次限制,短时间内大量调用会被限流

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:45:01