我正在尝试使用 Graph API Explorer 为我的应用程序创建访问令牌,以使用“me/accounts”查看我的页面。但是,每次我尝试此操作时,它都会返回一个空数据集。我已经选择了manage_pages作为权限,但它仍然不起作用。无需检查任何其他权限,我就可以查看“我/喜欢”、“我/电影”等。我不知道我做错了什么。
这就是我正在做的事情:
https://developers.facebook.com/tools/explorer/
我明白了:
{
"data": [
]
}
我已经通过十几个不同的谷歌搜索来寻找我的问题的答案,并尝试了一切,包括创建用户令牌和应用程序令牌。任何帮助将非常感激。谢谢!
更新 2013 年 6 月 27 日 我发现了一些资源,其中也包含publish_stream作为权限,我尝试过。仍然没有成功。另外,有人建议这可能是一个限制问题,但我的应用程序没有限制(默认的 13+ 除外)。
我也有类似的问题。 stackoverflow 上的几个解决方案大多将问题归因于缺乏所需的权限。使用 Graph API explorer 或 documentation 检查您需要的权限(这些表有一个名为每个字段的权限的列)。一些建议是使用范围来明确提及您在登录按钮中或在调用 api 时需要哪些权限。例如:
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, { scope: 'email,publish_stream,user_birthday,user_location' });
我遇到了一个不同的问题,我仔细检查了为我的应用程序仪表板设置的所有权限是否正确,但在登录时,我指定了一个包含一组权限的范围,这些权限似乎覆盖了应用程序设置。 :( 我发现这很奇怪,但我也通过在范围中包含其他权限来纠正它,我的问题得到了解决。
查看是否通过代码设置了正确权限的有效方法是使用以下代码:
FB.api({ method: 'fql.query', query: 'SELECT user_status,friends_status,user_photos,friends_photos,user_location,friends_location FROM permissions WHERE uid=me()' }, function(resp) {
for(var key in resp[0]) {
if(resp[0][key] === "1")
console.log(key+' is granted');
else
console.log(key+' is not granted');
}
});
P.S:在一篇文章中我还找到了一个解决方案,其中提到该人从 Facebook 帐户中删除该应用程序并再次添加该应用程序进行测试后能够获取数据。另请确保,如果您更改了应用程序仪表板中的权限,请在测试之前注销应用程序并再次登录。
我浪费了 3 个多小时试图解决这个问题,Facebook 文档对我没有任何帮助,所以希望这对某人有帮助!
我也有类似的问题。我也是一个页面的“经理”(来自 facebook 上的页面管理页面:编辑页面 > 管理管理员角色)。 拥有这些还不够 - 还应该确保正在使用的访问令牌具有“manage_pages”扩展权限。
另请参阅 Facebook 文档(特别是第 2 节)。
我不知道从 /me/account 查看我的“页面”的能力需要我拥有额外的“页面管理员”访问权限。一旦应用程序所有者在应用程序中授予我它,我就可以在图形浏览器中看到数据。
我在获取相册照片时也遇到了同样的问题。通过在我的访问令牌中添加名为“user_status”的权限解决了这个问题。
我使用V18.0的API,我发现一旦我也请求“pages_read_engagement”权限,它就会返回页面列表数据。