我正在尝试获取登录到我的应用程序的用户的所有 friend 。
我无法使用此 API [ friend ]:
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends
因为这个 API 只返回任何使用过发出请求的应用的 friend 。
所以我找到了这个 API [friendlist]:
https://developers.facebook.com/docs/graph-api/reference/v2.0/friendlist
Followed this answer ,我得到了好友列表。
但我在尝试获取好友列表的成员时得到了空列表:
new Request(
session,
"/2692926356774/members",
null,
HttpMethod.GET,
new Request.Callback()
{
public void onCompleted(Response response)
{
/* handle the result */
Log.e(LOG_TAG,"Members: " + response.toString());
}
}
).executeAsync();
2692926356774
是我的熟人列表id
,我尝试了其他几个id,结果相同。
最佳答案
在 v2.0 的 Graph API 中,调用 /me/friends
会返回此人也使用该应用的 friend 。
另外,在 v2.0 中,您必须向每个用户请求 user_friends
权限。 user_friends
不再默认包含在每次登录中。每个用户必须授予 user_friends
权限才能出现在对 /me/friends
的响应中。见 the Facebook upgrade guide了解更多详细信息,或查看下面的摘要。
/me/friendlists
端点和 user_friendlists
权限不是您所追求的。此端点不会返回用户 friend - 它允许您访问一个人为组织他们的 friend 而创建的列表。它不会返回每个列表中的 friend 。此 API 和权限非常有用,可让您在让人们有机会发布回 Facebook 时呈现自定义隐私选择器。
如果您想访问不使用应用的 friend 列表,有两种选择:
If you want to let your people tag their friends 在他们使用您的应用发布到 Facebook 的故事中,您可以使用
/me/taggable_friends
API。 Use of this endpoint requires review by Facebook并且应该只用于您呈现 friend 列表以便让用户在帖子中标记他们的情况。If your App is a Game AND your Game supports Facebook Canvas ,您可以使用
/me/invitable_friends
端点来渲染 a custom invite dialog ,然后将此 API 返回的 token 传递给 the standard Requests Dialog.
在其他情况下,应用程序不再能够检索用户 friend 的完整列表(只有那些使用 user_friends
权限专门授权您的应用程序的 friend )。
对于希望允许人们邀请 friend 使用应用的应用,您仍然可以使用 Send Dialog on Web或新的 Message Dialog on iOS和 Android .
关于android - 使用 Facebook Graph API 获取所有用户好友 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850807/