【发布时间】:2019-01-11 07:26:07
【问题描述】:
我一直在使用 facebook android sdk 并尝试实现以下方案:
- 我的 Android 应用要求用户访问他的 Facebook 帐户
- 我收到用户访问令牌作为登录结果
- 我将该令牌(简单的
String)传递给我自己的后端服务器 - 在我的服务器上,我需要找出那个用户是谁,如果我的后端服务器上有一个帐户,连接到这个用户的 facebook 帐户,让用户登录,否则显示错误消息。
我的问题是,我只能从访问令牌中检索应用范围内的userId,我的后端无法使用它来访问来自 Facebook 服务器的用户信息。我用于处理登录结果的代码非常简单:
facebookButton.registerCallback(callbackManager, object : FacebookCallback<LoginResult> {
override fun onSuccess(result: LoginResult?) {
//Pass token to my backend
loginByToken(result?.accessToken?.token!!, FACEBOOK_PROVIDER)
}
override fun onCancel() {
Toast.makeText(context, "Facebook login cancelled", Toast.LENGTH_SHORT).show()
}
override fun onError(error: FacebookException?) {
Toast.makeText(context, error.toString(), Toast.LENGTH_SHORT).show()
}
})
那么,我的问题是如何在我的后端服务器上获取用户数据?我想如果我还为请求用户数据提供我的应用程序 ID 是有意义的,但我浏览了 facebook 文档,但没有找到任何这样做的方法
【问题讨论】:
标签: android facebook facebook-graph-api