从 Facebook Graph 获取评论者信息 API 评分电话
Get Reviewer info from Facebook Graph API Rating call
我在使用 Facebook 图表时遇到了一个奇怪的问题 API。
我的目标是获得特定的页面评级,以便在网站上显示它们。
我正在使用 JavaScript SDK 并遵循文档中关于页面访问令牌的所有内容。
这是我的 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);
});
}
});
因此,当客户端将 select 一个页面名称时,它将获得正确的页面访问令牌,以便在之后进行页面特定 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、评分)。
审阅者字段是默认字段。所以,我确实尝试在没有任何字段参数的情况下进行查询,它的行为是一样的。
最初,我认为这是关于权限的,但在文档中它说只需要 'manage_pages'。
我该如何解决这个问题?
同样的问题,但使用 PHP SDK。我向开发人员的 Facebook 支持中心询问,他们很快就回复了。根据文档,原因与最近的更改以及他们向我提出的建议有关:
"For dev mode apps, 'App users can only access the data of users who have a role on the app.' https://developers.facebook.com/docs/apps/security Please submit your app for app review and publish your app to access the user info."
我还没试过,希望这能解决我们的问题
我在使用 Facebook 图表时遇到了一个奇怪的问题 API。
我的目标是获得特定的页面评级,以便在网站上显示它们。
我正在使用 JavaScript SDK 并遵循文档中关于页面访问令牌的所有内容。
这是我的 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);
});
}
});
因此,当客户端将 select 一个页面名称时,它将获得正确的页面访问令牌,以便在之后进行页面特定 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、评分)。
审阅者字段是默认字段。所以,我确实尝试在没有任何字段参数的情况下进行查询,它的行为是一样的。
最初,我认为这是关于权限的,但在文档中它说只需要 'manage_pages'。
我该如何解决这个问题?
同样的问题,但使用 PHP SDK。我向开发人员的 Facebook 支持中心询问,他们很快就回复了。根据文档,原因与最近的更改以及他们向我提出的建议有关:
"For dev mode apps, 'App users can only access the data of users who have a role on the app.' https://developers.facebook.com/docs/apps/security Please submit your app for app review and publish your app to access the user info."
我还没试过,希望这能解决我们的问题