web-dev-qa-db-ja.com

com.google.Android.gms.common.api.ApiException:10:が発生するのはなぜですか?

private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
    try {
        GoogleSignInAccount account = completedTask.getResult(ApiException.class); //exception is here

        // Signed in successfully, show authenticated UI.
        System.out.println("google token ---> " + account.getIdToken());
    } catch (ApiException e) {
        // The ApiException status code indicates the detailed failure reason.
        // Please refer to the GoogleSignInStatusCodes class reference for more information about this error.
        e.printStackTrace();
    }
}
30
Arsen Budumyan

Firebaseを使用しており、debug appを試してみる場合:

1。まず、SHA-1デバッグキーを取得します:

  1. Gradleをクリックします(右側のパネルから、Gradleバーが表示されます)
  2. Tasksをクリックします
  3. Androidをクリックします
  4. signingReportをダブルクリックします(SHA-1およびMD5を取得します)

2。 APIコンソールに新しい資格情報を追加します

  1. ここに行く https://console.developers.google.com/apis/credentials
  2. 新しいOAuth Client IDを作成
  3. 名前:Android client (for debug)(例)
  4. 署名証明書のフィンガープリント:コピーペーストSHA-1デバッグキー
  5. パッケージ名を入れて保存します

3。キーをFirebaseプロジェクトに追加します:

  1. Project settings-> SHA certificate fingerprints->デバッグアプリのSHA-1キーに移動します。

  2. その後、Androidプロジェクトのgoogle-services.jsonファイルを更新できます。

それは私のために働いています。

47
Johnny Johnson

このステータスコードは、不明なサーバークライアントIDを提供していることを意味します。 https://console.developers.google.com/apis/credentials では、プロジェクトでOAuthクライアントID-> Webアプリケーションを使用してこのWebアプリケーションを使用する必要があります。 AndroidアプリのクライアントID。

13
bojan

これらの手順を使用してこの問題を解決しました。

1)。 Goto https://console.developers.google.com/ を作成し、(Androidクライアント)が作成されている場合は削除します。

2)。資格情報の作成をクリックし、OAuthClientIDをクリックしてAndroidを選択します

3)。 SHA 1個の指紋をコピーして貼り付けます

4)。パッケージ名を入力して保存します

5)。 console.firebase.comに移動します

6)。 google-service.jsonをダウンロードして、プロジェクト内のappディレクトリに移動します

7)。 google-service.jsonを開き、クライアントIDタイプ3を見つけて、default_web_client_idとして使用します

8)。アプリを実行する

2
Danish Ahmed

この行を削除すると動作します:

System.out.println("google token ---> " + account.getIdToken());

これは、idTokenへのリクエストがないためです。

.requestIdToken(getString(R.string.google_app_id))

app_idの値は「OAuthクライアントID-> Webアプリケーション」です

2
Vitor Reais

ApiExceptionエラーコード10は開発者エラーです。 firebaseアプリが適切に設定されていない場合、このエラーが発生します。 1つの確実なケースは、Google SigninでFirebase認証を使用するときに、AndroidアプリにSHA1フィンガープリントを提供しない場合です。 (これはGoogleサインインの要件です)。そのため、SHA1フィンガープリントを提供し、google-services.json構成ファイルをアプリフォルダーにダウンロードしてビルドします。あなたは行ってもいいはずです。

Googleサインインは、接続されたiOSおよびWebアプリで自動的に構成されます。 AndroidアプリのGoogleサインインを設定するには、プロジェクト設定で各アプリのSHA1フィンガープリントを追加する必要があります。

これを確認してください 一般的なステータスエラーコード

2
landrykapela