web-dev-qa-db-ja.com

エラー:ステータス{statusCode = DEVELOPER_ERROR、解像度= null}

私はgplusサインインを使用していて、onActivityResultにいるときにこのエラーを取得しています...

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
    client.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 0) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {

            GoogleSignInAccount acct = result.getSignInAccount();
//                Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());

            mEmail = acct.getEmail();
            String mFullName = acct.getDisplayName();
            String mGoogleplusId = acct.getId();


            SocialUser user = new SocialUser();
            user.setType("googleplus");

            user.setEmail(mEmail);
            user.setFullname(mFullName);
            user.setId(mGoogleplusId + "");
            loginParams.put("email_id", mEmail);
            loginParams.put("googlePlusId", mGoogleplusId);
            loginParams.put("full_name", mFullName);
            loginParams.put("registrationType", "googleplus");
            SignUpService(user);


        } else {
            Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
        }
    }
}

そして、私はボタンクリックでgplusログインを求めています。 clckingボタンで次のコードが実行されます。

 GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)

            .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
            .build();


    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, 0);

そして、私はこのエラーを示しています...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

この行に...

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

解決策を提案してください。

77
Gurvinder Singh

Firebaseコンソール設定にSHA1キーを追加する必要があります。この方法でそれを行うことができます:

Firebase console( https://console.firebase.google.com )->プロジェクト->設定->スクロールして

enter image description here

Android Studioから「サインインレポート」を実行しているSHA1キーを見つけることができます。

enter image description here

次に、「実行タブ」を見て、ボタンをクリックします。

enter image description here

もっと簡単な方法だと思います。この助けを願っています。

170
SolArabehety

おそらく、productionトークンのSHA1を使用して構成ファイルを作成し、androiddebugkeyエイリアスを使用してアプリのデバッグバージョンに対応するSHA1を収集し、コピーします構成ファイルを「app」ディレクトリに追加するには、両方の構成ファイルが必要です(1つはデバッグ用、もう1つは実稼働環境用)。

https://developers.google.com/identity/sign-in/Android/start で公開されたウォークスルーに基づく

28
Mario

私は同じ問題を抱えていて、次の手順を実行することで機能しました。

1. DEBUG_KEYSTORE SHA1フィンガープリントをfirebaseプロジェクトに追加します。次のコマンドを使用します(MAC/LINUX)

  keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.Android/debug.keystore  

2.Nowプロジェクトの署名済みAPKを生成します。このプロセスには、アプリのリリースバージョンのキーストアの生成が含まれます。

  Copy the path of the newly generated .jks file.

3.次のコマンドを使用してRELEASE_KEYSTORE SHA1フィンガープリントを生成します

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4.出力から新しいSHA1をコピーし、firebaseアプリケーションコンソールで別のSHA1フィンガープリントとして追加します。

これで準備完了です! ----希望!助けになる。

10
Udit Kapahi

enter image description here

修正方法は、強調表示されたテキストに対応するキーを選択することでした。 FirebaseのドキュメントページでWordの「サーバー」を使用すると混乱するため、私はServer keyを取り上げていました。これが問題の理由でした。

キー here を見つけることができます。

7
4127157

私は同じ問題を抱えていましたが、どのように解決したかは、マニフェストファイルのパッケージ名とは異なるgradleファイルのapplicationIdがあったことです。また、applicationIdを使用してjsonファイルを作成しました。パッケージ名をapplicationIdに変更する必要がありましたが、修正されました。

5
Renegade

ここで提供される回答の代わりに、Android StudioのFirebase Assistantを使用して、いくつかのボタンをクリックするだけで、プロジェクトにSHA-1を自動的に追加できます。

Android Studioで、Tools > Firebase > Select 'Authentication'に移動し、'Email and password authentication'というリンクをクリックします。

これにより、認証をプロジェクトに統合する方法に関する小さなチュートリアルが表示されますが、おそらくすべて完了しているので、'Connect to Firebase'をクリックするだけで完了です。

3
Renan Aguiar

Androidプロジェクトのルートに正しいJSONファイルを入れてください
詳細はこちらを参照してください: http://coderzpassion.com/Android-working-latest-google-plus-login-api/

3
Jagjit Singh

これは古い質問ですが、AndroidクライアントIDを使用していたため、Google開発者コンソールで作成したため、最近エラー10(DEVELOPER_ERROR)で立ち往生しています。

私にとっての解決策は、Google開発者コンソールでAndroid資格情報を使用して、apkのSHAキーを示すこと、およびWebアプリケーションのクライアントID(!)コルドバアプリケーション。

config.xml:

<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
    <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
    <variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>

コード:

window.plugins.googleplus.login(
    {
       'webClientId': '[web-application-client-id].apps.googleusercontent.com'
    }, 
    ...

私はfirebaseを使用しません。

2
tobik

間違ったSHA1キーを生成して追加した可能性があります。次の手順を使用して、AndroidスタジオでSHA1キーを生成します。

  1. Gradleをクリックします(右側のパネルから、Gradleバーが表示されます)
  2. [更新]をクリックします(Gradleバーの[更新]をクリックすると、プロジェクトのGradleスクリプトのリストが表示されます)
  3. プロジェクトをクリックします(プロジェクト名フォームリスト(ルート))
  4. タスクをクリックします
  5. Androidをクリックします
  6. SigningReportをダブルクリックします(実行バーにSHA1とMD5が表示されます(Gradle Consoleに表示される場合があります))

次に、このSHA1キーをfirebase Androidプロジェクトに追加します。

2
snj

私にとっては、最初に実装したときは動作していましたが、数日間の開発後に停止し、前述のエラーメッセージが表示されました。

次の手順で問題を解決しました。

  1. Firebaseコンソールに既にあるsha-1指紋の上にsha-256指紋を追加しました。 (この手順が必要かどうかわからない)
  2. Google-services.jsonファイルを再度ダウンロードし、古いファイルを置き換えました。
  3. アプリを再インストールしました

そしてそれは働いた

1
Mantoska

アプリをリリースする人には、キーストアファイルからの特別な指紋が必要です。リリースバージョンだけでこのエラーが発生したのも不思議ではありません。 Android上のOAuth 2.0の署名証明書フィンガープリント(SHA1)を取得する方法?

0
Juan Mendez

Firebaseコンソールの[認証]でGoogleサインインを有効にしてください。

0
hellowill89

このエラーは、デバッグキーまたはリリースキーのSHA-1チェックサムがfirebase/googleコンソールに含まれていないために発生します。

最初に次のコマンドを使用してキーを生成します。

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

次に、SHA-1チェックサムをコピーして次の場所に移動します。

Firebase Console>プロジェクト>アプリの設定>指紋の追加

0
Nabin Bhandari

Json configファイルを新しいGoogleアカウントで更新すると、このエラーが発生しました。

アプリケーションを手動でアンインストールし、アプリを再インストールするとうまくいきました。

0
sanath_p

Firebaseアプリでこのエラーに遭遇しました。以下にrequestIdToken(activity.getString(R.string.default_web_client_id))の部分を追加すると修正されました。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail().requestIdToken(activity.getString(R.string.default_web_client_id))
        .build();

    apiClient = new GoogleApiClient.Builder(activity)
        .addConnectionCallbacks(this)
        .enableAutoManage(activity, this)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(apiClient);
    activity.startActivityForResult(signInIntent, RC_GOOGLE_SIGN_IN);
0
Dan Brough