我希望使用oauth2 protocole验证我的Android应用程序的用户,以便用户不需要为我的应用程序创建登录名和密码。
为此,我遵循以下教程:http://android-developers.blogspot.fr/2013/01/verifying-back-end-calls-from-android.html
我导入了google play服务sdk示例(在AndroidSDK \ extras \ google \ google_play_services \ samples \ auth中),我更改了范围值。
但是,我无法获得身份验证令牌...我正确配置了我的Google控制台API。
这是调用getToken方法的函数:
protected String fetchToken() throws IOException {
try {
return GoogleAuthUtil.getToken(mActivity, mEmail, mScope);
} catch (GooglePlayServicesAvailabilityException playEx) {
// GooglePlayServices.apk is either old, disabled, or not present.
mActivity.showErrorDialog(playEx.getConnectionStatusCode());
} catch (UserRecoverableAuthException userRecoverableException) {
// Unable to authenticate, but the user can fix this.
// Forward the user to the appropriate activity.
mActivity.startActivityForResult(userRecoverableException.getIntent(), mRequestCode);
} catch (GoogleAuthException fatalException) {
onError("Unrecoverable error " + fatalException.getMessage(), fatalException);
}
return null;
}
这是我的范围:audience:server:client_id:MY_CLIENT_ID.apps.googleusercontent.com
当我尝试时,我会遇到以下例外情况:
08-16 17:22:08.471: E/TokenInfoTask(16546): Exception:
08-16 17:22:08.471: E/TokenInfoTask(16546): com.google.android.gms.auth.GoogleAuthException: Unknown
08-16 17:22:08.471: E/TokenInfoTask(16546): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
答案 0 :(得分:3)
您应该使用Google在2月份发布的登录信息,因为这样可以获得跨客户端授权,并可以访问您可用于个性化应用的更多数据。在幕后,此授权库使用OAuth 2连接到Google服务。
一些可以帮助您入门的资源: