我想驗證我的Android應用程序的用戶與oauth2 protocole,以便用戶不需要爲我的應用程序創建一個登錄名和密碼。谷歌播放服務認證(oauth 2.0)
爲了做到這一點,我按照下面的教程:http://android-developers.blogspot.fr/2013/01/verifying-back-end-calls-from-android.html
我已經導入谷歌播放服務SDK示例(在AndroidSDK \演員\谷歌\ google_play_services \ SAMPLES \ AUTH),我有改變的範圍值。
但是,我無法獲得身份驗證令牌...雖然我已正確配置我的谷歌控制檯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)
感謝您的建議,但使用Google+登錄,用戶必須點擊一個按鈕,而與谷歌播放服務認證他不' t需要... – juzamn
從何時起,GoogleAuthUtil.getToken()方法開始拋出一個帶有消息的GoogleAuthException「 BadUsername「用於未在設備上註冊的電子郵件,而不是以前的異常IllegalArgumentException,並顯示消息」Non existing account'email_address'「? http://developer.android.com/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context,java.lang.String,java.lang.String) – toobsco42
請求用戶信息.profile和plus.login將導致此異常。請從您的請求中移除userinfo.profile範圍。 – class