認証にGoogleを使用するAndroidアプリに取り組んでいます。ユーザーの身元を確認するためにトークンをフェッチするためのコードは次のとおりです。「auth」サンプル Android プロジェクトの GetNameInForeground.java に従います。
/**
* Get a authentication token if one is not available. If the error is not recoverable then
* it displays the error message on parent activity right away.
*/
@Override
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.
onError("Authorization problem with Google account", userRecoverableException);
//mActivity.startActivityForResult(userRecoverableException.getIntent(), mRequestCode);
} catch (GoogleAuthException fatalException) {
onError("Unrecoverable error " + fatalException.getMessage(), fatalException);
}
return null;
}
ログインすると、「Unrecoverable error unknown」というエラーが定期的に表示されます。これは、GoogleAuthUtil.getToken を呼び出して fatalExceptions を取得していることを示唆していますが、その理由はわかりません。http://developer.android.com/reference/com/google/android/gms/auth/GoogleAuthUtil.htmlには、エラー メッセージに関する情報があまりありません。