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

Facebook Graph API获取Page Ratings时无法获取reviewer字段问题

解决Facebook Graph API获取Page Ratings缺少reviewer字段的问题

嘿,我帮你排查了一下,核心问题出在API请求的参数格式上,另外还有几个细节需要调整,具体如下:

1. 修复URL参数的语法错误

你当前的API调用URL里有两个关键错误:

  • 参数分隔符错误:limit=10后面用了第二个?,但URL中只能有一个?用来分隔路径和参数,后续所有参数都必须用&连接
  • 字段声明多了一个冗余的}

错误的请求URL片段:

'/'+ page.id + '/ratings?access_token='+ page.access_token +'&limit=10?fields=reviewer{id,name,picture},rating}'

修正后的版本(用模板字符串更易读):

`/${page.id}/ratings?access_token=${page.access_token}&limit=10&fields=reviewer{id,name,picture},rating`

2. 更安全的参数传递方式(推荐)

直接拼接URL容易出现符号错误,建议使用FB.api的参数对象传递方式,SDK会自动处理参数编码和格式,还能更清晰地管理参数:

FB.api(
  `/${page.id}/ratings`,
  {
    access_token: page.access_token,
    limit: 10,
    fields: 'reviewer{id,name,picture},rating,created_time,review_text'
  },
  function(response) {
    if (response.error) {
      console.error('API请求错误:', response.error);
    } else {
      console.log('获取到的评分数据:', response);
    }
  }
);

3. 确认页面访问令牌的权限

虽然你已经拥有manage_pages权限,但建议验证一下通过/me/accounts获取的页面令牌是否包含pages_read_engagement权限(这是读取页面评分和评论的必要权限之一)。你可以在Graph Explorer中调用:

debug_token?input_token={你的页面访问令牌}&access_token={你的应用令牌}

查看返回的scopes列表,确保包含pages_read_engagement。如果缺失,需要重新授权并确认权限范围包含该权限。

4. 检查应用的权限设置

确保你的Facebook应用在开发者后台的应用审核部分,已经将pages_read_engagement权限添加到提交的权限列表中(即使是测试应用,也需要在角色中添加测试用户并授予对应权限)。

按照以上步骤调整后,应该就能正常获取到包含reviewer字段的完整评分数据了。

内容的提问来源于stack exchange,提问作者Noë VIRICEL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:00:02