4

我试图用经过身份验证的用户的 uid 返回好友列表。但是我只得到了部分返回值,部分朋友被遗漏了:

graph = Koala::Facebook::API.new(fb_token)
friends = graph.get_connections("me", "friends")
#some friend action

当我输入

friends.paging["next"]

在浏览器中它还返回一个空的 json 数组

   "data": [    ]

我怎么做错了,正确的做法是什么?

4

2 回答 2

1

您需要获得“user_friends”权限才能获取好友列表,否则您将收到空数据:

只有在用户授予 'user_friends' 权限后,才能在 User 对象上访问字段 'friends'。

自己试试: https ://developers.facebook.com/tools/explorer?method=GET&path=me%2Ffriends&version=v2.5

因此,在正确的许可下,您可以执行以下操作:

graph = Koala::Facebook::API.new(fb_token)
result = graph.get_connections('me', 'friends')

分页:

next_page = result.next_page

最后但并非最不重要的:

API v2.0 及更高版本仅返回安装此应用的朋友。total_count 表示好友总数,包括未安装应用的好友。了解详情

于 2016-02-22T16:24:31.400 回答
-1

你试试这个..

这很简单,您可以在一行中获取所有朋友数:)

@graph = Koala::Facebook::API.new(facebook_token)
@friends = @graph.get_connection("me", "friends",api_version:"v2.0").raw_response["summary"]["total_count"]
于 2016-12-05T07:17:22.013 回答