通过android中的帐户管理器检索在移动设备中配置的Facebook帐户的身份验证令牌

时间:2012-10-19 10:55:16

标签: android facebook oauth-2.0 accountmanager

我正在尝试通过Android中的帐户管理器使用

获取在设备中配置的Facebook帐户的Auth令牌
accountManager.getAuthToken(account,"user_activities",null,Hellol10n.this, new   GetAuthTokenCallback(), null);// account is of type "com.facebook.auth.login"

但我没有得到任何结果。根本没有调用回调。

facebook是否支持这种获取身份验证令牌的方式。 Facebook确实使用了oauth2。所以看看

  

本课程演示如何连接到支持OAuth2的Google服务器。虽然以Google服务为例,但所演示的技术适用于任何正确支持OAuth2协议的服务。“

http://developer.android.com/training/id-auth/authenticate.html

此外,我正在尝试这个becoz我不希望用户输入他已在设备中配置的帐户的凭据,以简化用户体验。

更新:

即使未安装Facebook应用,客户经理也有一个类型为“com.sec.android.app.snsaccountfacebook.account_type”的fb帐户。是否无法获得此帐户的身份验证。帐户管理中的帐户类型“com.sec.android.app.snsaccountfacebook.account_type”和“com.facebook.auth.login”之间有什么区别

1 个答案:

答案 0 :(得分:0)

我建议改用Facebook SDK for Android。如果用户拥有Facebook应用程序,则SSO只需切换到应用程序进行身份验证和授权,无需重新输入用户名/密码。如果用户没有Facebook应用程序,那么accountManager.getAuthToken机制将无法正常工作,因为Android没有帐户信息。