facebook - 从 Facebook Graph API 评级调用获取评论者信息

标签 facebook facebook-graph-api facebook-javascript-sdk

我在使用 Facebook Graph API 时遇到了一个奇怪的问题。

我的目标是获得特定的页面评级,以便在网站上显示它们。

我正在使用 JavaScript SDK 并遵循文档中关于页面访问 token 的所有内容。

这是我的 Facebook 登录按钮,以便让我的应用程序获得当前用户帐户(在这种情况下是我的)的授权,并为页面设置正确的管理员角色:

<fb:login-button id="fb-login-btn" scope="manage_pages,pages_show_list" onlogin="checkLoginState();">

然后我在/me/accounts API 调用的帮助下获取所有用户的页面:

FB.api('/me/accounts', function(response) {

  if(response && !response.errors) {
    const selectList = document.getElementById('fb-page-list');

    // Populate the list
    response.data.forEach(page => {
      var option = document.createElement("option");
      option.value = JSON.stringify({id: page.id, access_token: page.access_token});
      option.text = page.name;
      selectList.appendChild(option);
    });
  }
});

因此,当客户端选择一个页面名称时,它将获得正确的页面访问 token ,以便在之后进行页面特定的 API 调用。

然后最后一步是页面的评级调用:

FB.api(
  '/'+ page.id + '/ratings?access_token='+ page.access_token +'&limit=10?fields=reviewer{id,name,picture},rating}',
  function(response) {
    console.log(response);
  }
);

因此,当我在 Graph API Explorer(由 Facebook 开发人员界面提供)中执行该查询时,它运行良好。我的评分为:

Graph API Explorer

当我在浏览器中尝试时,我也得到了我的评分,但只有一些默认字段(即 created_time、review_text、rating)。

审阅者字段是默认字段。因此,我确实尝试在没有任何字段参数的情况下进行查询,它的行为是一样的。

最初,我认为这与权限有关,但在文档中它说只需要“manage_pages”。

我怎样才能克服这个问题?

最佳答案

同样的问题,但使用 PHP SDK。我向开发人员的 Facebook 支持中心询问,他们很快就回复了。根据文档,原因与最近的更改以及他们向我提出的建议有关:

“对于开发模式应用程序,‘应用程序用户只能访问在应用程序上具有角色的用户的数据。’ https://developers.facebook.com/docs/apps/security请提交您的应用以供应用审核并发布您的应用以访问用户信息。”

我还没试过,希望这能解决我们的问题

关于facebook - 从 Facebook Graph API 评级调用获取评论者信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50353844/

相关文章:

azure - Facebook Graph API 的重大变更是否由 Azure AD B2C 处理?

ruby-on-rails - 阻止原点为 "https://www.facebook.com"的帧访问原点为 "http://myapp.herokuapp.com"的帧

Facebook 编程挑战赛 - ByteLand

ios - 如何解析一个有登录名和密码的网页才能进入查看用户的个人页面? (iPhone)

ios - FacebookSDK 是否始终在共享或登录后、返回当前屏幕之前显示 LaunchScreen?

android - 如何使用 facebook sdk 将位图发布到 facebook?

ios - 请求 Facebook 好友返回空

javascript - Facebook 的 all.js 与 $.getScript() 不兼容

facebook - 通过 facebook graph api 创建事件

android手机打开facebook允许权限窗口的问题