Facebook Graph API返回空数据集

时间:2013-06-26 20:05:01

标签: facebook facebook-graph-api get

我正在尝试使用Graph API Explorer为我的应用程序创建一个访问令牌,以使用“我/帐户”查看我的页面。但是,每次我尝试这个时,它都会返回一个空数据集。我选择了manage_pages作为权限,它仍然无效。没有检查任何其他权限,我可以查看“我/喜欢”,“我/电影”等。我不知道我做错了什么。

这就是我正在做的事情:

https://developers.facebook.com/tools/explorer/

  1. 从下拉菜单中选择我的应用程序。
  2. 点击“获取访问令牌”>>查看“manage_pages”>>获取访问令牌
  3. 提交“GET / me / accounts”
  4. 我明白了:

    {
      "data": [
      ]
    }
    

    我已经通过十几个不同的谷歌搜索来找到我的问题的答案,并尝试了一切,包括创建用户令牌和应用程序令牌。任何帮助将非常感激。谢谢!

    更新日期6/27/13 我发现了一些资源,其中包括将publish_stream作为权限包含在内,我试过了。仍然没有成功。此外,有人建议它可能是一个限制问题,但我的应用程序没有限制(默认13 +除外)。

5 个答案:

答案 0 :(得分:8)

另请注意,需要启用新的用户权限read_insights,否则读取任何/insights边缘将无效地以空响应失败。 Permission dialogue with read_insights highlighted

答案 1 :(得分:4)

我有类似的问题。 stackoverflow上的几个解决方案主要归因于缺少必需的权限。使用Graph API explorerdocumentation检查所需权限(表中有一个名为权限的列,用于每个字段)。一些建议是使用范围来明确提到您在登录按钮中或在调用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文档对我没什么帮助,所以希望这能帮助别人!

答案 2 :(得分:2)

我有类似的问题。我也是一个页面的“经理”(来自Facebook上的页面管理页面:编辑页面>管理管理员角色)。 如果这还不够 - 还应该确保正在使用的访问令牌具有'manage_pages'扩展权限。

另请参阅Facebook documentation(特别是第2节)。

Screenshot of the graph explorer access token generator

答案 3 :(得分:1)

我不知道从/ me / account查看我的“页面”的能力要求我有额外的“页面管理员”访问权限。一旦应用程序所有者在应用程序中授予我权限,我就可以在图形资源管理器中查看数据。

答案 4 :(得分:1)

我在拍摄相册照片时也遇到了同样的问题。通过在我的访问令牌中添加名为“user_status”的权限来解决此问题。