为了账号安全,请及时绑定邮箱和手机立即绑定

使用Facebook Graph API获取所有用户朋友-Android

使用Facebook Graph API获取所有用户朋友-Android

牧羊人nacy 2019-09-21 15:42:03
我试图吸引所有登录我的应用程序的用户的朋友。我无法使用此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遵循此答案,我得到了好友列表。但是我在尝试获取好友列表的成员时得到的是空列表: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 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

在Graph API的v2.0中,调用会/me/friends返回也使用该应用程序的用户的朋友。


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


该/me/friendlists端点和user_friendlists权限不是你追求的。该端点不会返回用户的朋友-它使您可以访问某人为组织其朋友而创建的列表。它不会返回每个列表中的朋友。当使人们有机会发布回Facebook时,此API和权限非常有用,它允许您呈现自定义隐私选择器。


如果要访问未使用应用程序的朋友列表,有两种选择:


如果您想让人们在使用您的应用发布到Facebook的故事中标记他们的朋友,则可以使用/me/taggable_friendsAPI。使用此终结点需要Facebook进行审查,并且仅应在呈现朋友列表以使用户在帖子中标记他们的情况下使用。


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


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


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


查看完整回答
反对 回复 2019-09-21
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

从2.0版开始,通过Public API不可能做到这一点。如果您确实需要它,唯一的解决方案是像FLT一样获取用户的主令牌。检索主令牌并不难实现,但这需要用户的登录凭据。通常,没有人会信任使用您的Facebook密码的软件。另外,检索主令牌将在您的服务器上注册登录会话,因此用户将看到“您的帐户已从...访问”消息,并且很有可能其帐户将被锁定,因此需要保存浏览器。这是针对Facebook TOS !!!!

查看完整回答
反对 回复 2019-09-21
  • 2 回答
  • 0 关注
  • 749 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信