我正在尝试让所有朋友,登录我的应用程序的用户。
我无法使用此API [朋友]:
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends
因为此API仅返回使用应用程序发出请求的所有朋友。
所以我找到了这个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
是我的Acquaintances list id
,我尝试了其他一些ID同样的结果。
答案 0 :(得分:83)
在图谱API的v2.0中,调用/me/friends
会返回同时使用该应用的人的朋友。
此外,在v2.0中,您必须向每个用户请求user_friends
权限。每次登录时都不再包含user_friends
。每个用户都必须授予user_friends
权限才能显示在对/me/friends
的回复中。有关详细信息,请参阅the Facebook upgrade guide,或查看以下摘要。
/me/friendlists
端点和user_friendlists
权限不是您所追求的。此端点不会返回用户朋友 - 它允许您访问一个人为组织朋友而制作的列表。它不会返回每个列表中的朋友。此API和权限对于允许您在向人们提供发布回Facebook的机会时呈现自定义隐私选择器非常有用。
如果您想访问非应用朋友的列表,有两种选择:
If you want to let your people tag their friends 在使用您的应用发布到Facebook的故事中,您可以使用/me/taggable_friends
API。 Use of this endpoint requires review by Facebook并且只应用于呈现朋友列表的情况,以便让用户在帖子中标记这些朋友。
If your App is a Game AND your Game supports Facebook Canvas ,您可以使用/me/invitable_friends
端点来呈现a custom invite dialog,然后将此API返回的令牌传递给{{ 3}}
在其他情况下,应用无法再检索用户朋友的完整列表(仅限那些使用user_friends
权限明确授权您的应用的朋友)。
对于希望允许其他人邀请朋友使用应用的应用,您仍然可以使用the standard Requests Dialog.或新的Send Dialog on Web和Message Dialog on iOS。