Ale*_*494 7 android facebook-graph-api firebase facebook-friends firebase-authentication
我在我的应用程序中使用facebook登录.一旦用户登录,我就可以获得他们的基本Facebook信息,例如显示名称,电子邮件和照片网址.我想得到他们的facebook好友列表.我想我可以"直接"使用firebase,但我不记得我怎么也找不到任何关于它的信息.我想当人们使用facebook登录时,我首先要告诉Firebase获取好友列表,然后我可以使用firebaseAuth.getCurrentUser().getFriendList()这样的方法来获取它.
你知道怎么用firebaseAuth获取facebook好友列表吗?
谢谢,
亚历克斯
这是可行的,但仅限于也使用您的应用程序的朋友。诀窍是为您的登录方法添加一个范围。在 Angular 中它看起来像这样
this.afAuth.auth.signInWithPopup(new firebase.auth.FacebookAuthProvider().addScope('user_friends'))
Run Code Online (Sandbox Code Playgroud)
最后的范围就是诀窍。然后,您至少需要两个在 facebook 上是朋友的用户才能登录。您会注意到弹出窗口有所不同,因为它现在会向用户的朋友请求许可。
响应将包含访问令牌。然后,您可以使用该令牌来请求用户的朋友,这些朋友也使用该应用程序,通过这样的 GET 请求
https://graph.facebook.com/v2.11/{facebook_uid}/?fields=friends{name,id}&access_token={access_token}
Run Code Online (Sandbox Code Playgroud)
注意我使用的是特定版本,但您应该将其更改为您需要的任何版本。
一般来说,从 Facebook 获取用户的所有好友列表是不可能的,他们几年前通过 API v2.0 的介绍删除了这个选项...更多信息和有用的建议在这里
有一个名为Graph API的官方 FB API ,这里有一些关于好友列表的文档
还有Firebase ...好吧,这是 Google 的产品,与 Facebook 无关...您可能正在使用 FB 邮件地址在 Firebase 服务/数据库中创建帐户,但它只保留这些数据以及一些额外的数据属性(如设置)(例如照片或可见名称)。
firebaseAuth.getCurrentUser()返回FirebaseUser对象,它有这些方法 - 就像你看到的:logpass、name、photo url 以及其他几个方法。没有获取好友列表的选项,因为没有方法来设置它们,并且无法从 FB lib/API 获取此列表
| 归档时间: |
|
| 查看次数: |
3130 次 |
| 最近记录: |