获得所有用户的朋友使用Facebook图形API - Android



我正在尝试获取登录到我的应用程序的用户的所有朋友。

我不能使用这个API [friends]:

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

跟着这个答案,我得到了好友列表。

但是当我试图获得好友列表的成员时,我得到空列表:

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的相同结果。

在2.0版本的Graph API中,调用/me/friends将返回同样使用该应用程序的人的朋友。

此外,在v2.0中,必须向每个用户请求user_friends权限。user_friends不再默认包含在每次登录中。为了出现在/me/friends的响应中,每个用户必须授予user_friends权限。请参阅Facebook升级指南了解更多详细信息,或查看下面的摘要。

/me/friendlists端点和user_friendlists权限不是你想要的。这个端点不返回用户的朋友-它允许您访问一个人为组织他们的朋友所做的列表。它不返回每个列表中的好友。这个API和权限是有用的,允许你呈现一个自定义的隐私选择器,让人们有机会发布回Facebook。

如果你想访问一个不使用app的好友列表,有两个选项:

  1. 如果你想让你的人在他们使用你的App发布到Facebook的故事中标记他们的朋友,你可以使用/me/taggable_friends API。使用此端点需要Facebook的审查,并且应该仅用于呈现好友列表以便用户在帖子中标记他们的情况。

  2. 如果你的应用程序是一个游戏,并且你的游戏支持Facebook Canvas,你可以使用/me/invitable_friends端点来呈现自定义邀请对话框,然后将此API返回的令牌传递给标准请求对话框。

在其他情况下,应用程序不再能够检索用户朋友的完整列表(只有那些使用user_friends权限特别授权你的应用程序的朋友)。

对于希望允许用户邀请好友使用的应用程序,您仍然可以使用Web上的发送对话框或iOS和Android上的新消息对话框。

相关内容

  • 没有找到相关文章

最新更新