使用Facebook Graph API获取评分评论无返回结果的问题
无法通过Facebook API获取评分评论的排查方案
我之前也碰到过类似的问题,结合Facebook Graph API的规则,给你梳理几个可能的原因和解决办法:
1. API版本过于陈旧
你当前使用的是v3.0版本,这个版本已经是多年前的旧版本了,Facebook早已停止对很多旧版本API的功能支持,包括部分评论获取的逻辑。建议你升级到最新的稳定版本(比如v18.0)再尝试请求,新版本不仅修复了很多旧问题,权限映射也更清晰。
修改后的请求示例:
https://graph.facebook.com/v18.0/106674383523012/comments?access_token=[access_token]
2. 权限配置可能存在遗漏
虽然你说在Graph API Explorer中勾选了所有权限,但有些针对评论获取的权限需要明确确认:
- 确保你拥有
pages_read_engagement权限:这个权限允许读取页面的互动内容,包括评论; - 如果是涉及用户生成的内容,可能还需要
pages_read_user_content权限(不过对于页面拥有者自己的页面,在测试环境下pages_read_engagement通常足够,但正式环境可能需要提交应用审核); - 另外,要确认你的access_token是页面访问令牌而非用户访问令牌,页面令牌拥有更高的页面数据访问权限。
3. 请求对象错误:应该使用Rating ID而非Open Graph Story ID
你当前是用open_graph_story的ID去请求评论,但实际上评分的评论是关联在Rating对象本身的,而不是其关联的Open Graph Story。正确的做法是:
- 在
me/ratings的响应中,找到每个rating对象的id字段(而不是open_graph_story.id); - 用这个Rating ID去请求评论,比如:
https://graph.facebook.com/v18.0/{rating_id}/comments?access_token=[access_token]
4. 隐私或页面设置限制
检查你的Facebook页面的评论设置:
- 是否开启了评论审核?如果评论还在待审核状态,API是无法获取到的;
- 评论的隐私设置是否为“公开”?如果设置了仅特定人群可见,即使你是页面拥有者,API也需要对应的权限才能读取非公开内容。
你可以先尝试升级API版本,并用Rating ID重新请求,这两个点解决了大部分类似的问题。
内容的提问来源于stack exchange,提问作者increscent
相关产品推荐
相关产品推荐

