需要用facebook.py列出所有朋友

时间:2013-03-05 21:15:24

标签: python facebook facebook-graph-api

我使用facebook.py来自: https://github.com/pythonforfacebook/facebook-sdk

我的问题是: 我不知道使用graph.get_object(“我/朋友”)

中的next-url
graph = facebook.GraphAPI(access_token)
friends = graph.get_object("me/friends")

2 个答案:

答案 0 :(得分:4)

如果您在Graph API Explorer中输入/me/friends,您会看到它返回一个JSON文件,该文件只是字典和列表的组合。

例如,输出可以是:

{
  "data": [
    {
      "name": "Foo", 
      "id": "1"
    }, 
    {
      "name": "Bar", 
      "id": "1"
    }
  ], 
  "paging": {
    "next": "some_link"
  }
}

此JSON文件已转换为Python字典/列表。在外部字典中,键data映射到字典列表,其中包含有关您朋友的信息。

所以要打印好友列表:

graph = facebook.GraphAPI(access_token)
friends = graph.get_object("me/friends")
for friend in friends['data']:
    print "{0} has id {1}".format(friend['name'].encode('utf-8'), friend['id'])

.encode('utf-8')是正确打印出特殊字符。

答案 1 :(得分:1)

上述答案具有误导性,因为Facebook已关闭graph用户,使其无法获取朋友列表。除非朋友们也已安装了该应用程序

请参阅:

graph   = facebook.GraphAPI( token )
friends = graph.get_object("me/friends")
if friends['data']:
  for friend in friends['data']:
    print ("{0} has id {1}".format(friend['name'].encode('utf-8'), friend['id']))
else:
  print('NO FRIENDS LIST')