我执行了以下操作:
安装了两种Facebook API: pip install facebook 和 pip install fb
去了https://developers.facebook.com/tools/access_token/,注册了我的应用并获得了用户令牌(一些长字符串,目前在代码中用作硬编码,我稍后会更改)
创建以下代码(请参阅评论内容以及如何工作或不起作用:
import re
import urllib2
import requests
import facebook
import fb
token="User Token"
graph = facebook.GraphAPI(token)
profile = graph.get_object("me") #POSITIVE: I can get profile info
friends = graph.get_connections('me', "friends") #POSITIVE: I can get real friends count, NEGATIVE - the list itself is empty
posts = graph.get_connections('me', "posts") #NEGATIVE - the list itself is empty, no count is returned, as in "friends" case
feed= graph.get_connections('me', "feed") #NEGATIVE - the list itself is empty, no count is returned, as in "friends" case
fb1=fb.graph.api(token)
profile = fb1.get_object(cat='single', id="me") #NEGATIVE - error in given parameters
为了确保我也使用相同的令牌https://developers.facebook.com/tools/explorer并得到相同的结果:
GET me\friends:
{
"data": [
],
"summary": {
"total_count": 575
},
}
GET me\feed:
{
"data": [
],
}
为什么返回的列表为空?
谢谢!
更新:我发现我没有权限,只有那些权限。如何获得更多?为什么在获得“朋友”许可的情况下,我看不到有关它们的信息,只能看到它们的总数?
{
"data": [
{
"permission": "user_friends",
"status": "granted"
},
{
"permission": "public_profile",
"status": "granted"
}
],
}
已解决:我发现问题所在!我没有获得具有所有权限的app令牌。执行以下操作:
选择您的APP名称(附件中我是lj_for_me)
按“获取用户令牌”并选中所有框(或您真正需要的内容)。
现在,您将拥有从您的 FB帐户获取帖子和照片等的权限。为了从其他用户帐户中获取相同的信息,您需要从FB获得此类许可(据我所知,但我没有深入研究此主题)
答案 0 :(得分:2)
从图谱API的v2.0开始,出于隐私原因,您只能获得授权您的应用{0}}权限的朋友。如果您的朋友都没有授权该应用,则只能获得user_friends
。
使用total_count
权限,btw。