如何使用Facebook登录从Android应用程序中的后端服务器访问数据?

时间:2013-03-19 10:54:19

标签: android facebook facebook-graph-api

我正在开发一个应用程序,我必须使用facebook登录才能从后端服务器访问数据。我已经搜索了这个并得到了:

  1. 首先,用户将输入facebook的用户名和密码,然后请求进入服务器。
  2. 如果用户已通过身份验证,则会获取用户的访问令牌。
  3. 在服务器上发送此访问令牌。
  4. 服务器将验证此访问令牌。
  5. 我已成功将我的应用程序与Facebook连接,即现在用户可以从我的应用程序登录到Facebook。但我现在不知道如何获取用户的访问令牌以及如何在服务器上验证此访问令牌。

    你能为我提供一些示例代码吗?请帮助我,我很长时间陷入其中。

2 个答案:

答案 0 :(得分:1)

我不确定这是否是最佳做法,但这就是我的做法。

当您通过任何SDK在客户端设备上使用Android登录用户时,您将获得用户访问令牌。可以按如下方式访问令牌

AccessToken token = AccessToken.getCurrentAccessToken();
if (token != null) {
  Toast.makeText(getActivity(), token, Toast.LENGTH_LONG).show();
}

然后,您可以将此令牌作为POST变量传递给后端:

'access_token': '32b409xceBV78d2932b409xceBV78d29'

使用后端SDK,您可以再次获取用户信息。这是python中的一个例子

facebook_graph = facebook.GraphAPI(access_token)

如果电子邮件和fbid与数据库中存储的用户信息匹配,则授予访问权限:

user = get_user(email=facebook_graph['email'], fbid=facebook_graph['fbid'])
login(request, user)

答案 1 :(得分:0)

要访问facebook用户的数据,您必须获取权限,以下链接可能对您有用。看看吧...... https://developers.facebook.com/docs/howtos/androidsdk/3.0/fetch-user-data/

相关问题