私は自分のAndroidアプリケーションにhttp://android-developers.blogspot.fi/2013/01/verifying-back-end-calls-from-android.htmlを実装しました。開発バージョンのgoogleapiプロジェクトにアプリケーションのクライアントIDを追加し、Androidアプリケーションにid_tokenを要求させました
idToken = GoogleAuthUtil.getToken(AuthenticatorActivity.this, accountName, "audience:server:client_id:1234567890.apps.googleusercontent.com");
そして、これはすべてほぼ完璧に機能しました。次に、本番環境で機能するかどうかをテストしたいと思いました。クライアントIDを本番バージョンのgoogleapiプロジェクトに追加し、コードで使用して、本番バージョンのアプリを再構築しました。それ以来、私はいつも得ています
GLS error: INVALID_AUDIENCE <Removed>@gmail.com audience:server:client_id:1234567890.apps.googleusercontent.com
同じメッセージの応答とGoogleAuthExceptionとして。
クライアントIDを一度に1つずつ削除して再作成しようとしました(したがって、昨日の開発client_idと変更されていないコードだけでテストしました。同じ結果です)。クライアントIDを作成するときに、実際に正しいSHA1を使用したことを確認しました。アプリの両方のバージョンを再構築し、複数のデバイスとGoogleアカウントでテストしました。
同じAndroidパッケージ名のclient_idを両方のプロジェクトに追加してgoogleapiプロジェクトサーバーを壊しましたか、それとも単に見落としていたものがありますか?
編集:3番目のプロジェクトで新しいクライアントIDを作成すると、コードを変更せずにid_tokenを再度取得できるため、私は本当に何かを壊したようです。