私は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);
解決策を提案してください。
Firebaseコンソール設定にSHA1キーを追加する必要があります。この方法でそれを行うことができます:
Firebase console( https://console.firebase.google.com )->プロジェクト->設定->スクロールして
Android Studioから「サインインレポート」を実行しているSHA1キーを見つけることができます。
次に、「実行タブ」を見て、ボタンをクリックします。
もっと簡単な方法だと思います。この助けを願っています。
おそらく、productionトークンのSHA1を使用して構成ファイルを作成し、androiddebugkey
エイリアスを使用してアプリのデバッグバージョンに対応するSHA1を収集し、コピーします構成ファイルを「app」ディレクトリに追加するには、両方の構成ファイルが必要です(1つはデバッグ用、もう1つは実稼働環境用)。
https://developers.google.com/identity/sign-in/Android/start で公開されたウォークスルーに基づく
私は同じ問題を抱えていて、次の手順を実行することで機能しました。
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フィンガープリントとして追加します。
これで準備完了です! ----希望!助けになる。
修正方法は、強調表示されたテキストに対応するキーを選択することでした。 FirebaseのドキュメントページでWordの「サーバー」を使用すると混乱するため、私はServer key
を取り上げていました。これが問題の理由でした。
キー here を見つけることができます。
私は同じ問題を抱えていましたが、どのように解決したかは、マニフェストファイルのパッケージ名とは異なるgradleファイルのapplicationIdがあったことです。また、applicationIdを使用してjsonファイルを作成しました。パッケージ名をapplicationIdに変更する必要がありましたが、修正されました。
ここで提供される回答の代わりに、Android StudioのFirebase Assistantを使用して、いくつかのボタンをクリックするだけで、プロジェクトにSHA-1を自動的に追加できます。
Android Studioで、Tools > Firebase > Select 'Authentication'
に移動し、'Email and password authentication'
というリンクをクリックします。
これにより、認証をプロジェクトに統合する方法に関する小さなチュートリアルが表示されますが、おそらくすべて完了しているので、'Connect to Firebase'
をクリックするだけで完了です。
Androidプロジェクトのルートに正しいJSONファイルを入れてください
詳細はこちらを参照してください: http://coderzpassion.com/Android-working-latest-google-plus-login-api/
これは古い質問ですが、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を使用しません。
間違ったSHA1キーを生成して追加した可能性があります。次の手順を使用して、AndroidスタジオでSHA1キーを生成します。
次に、このSHA1キーをfirebase Androidプロジェクトに追加します。
私にとっては、最初に実装したときは動作していましたが、数日間の開発後に停止し、前述のエラーメッセージが表示されました。
次の手順で問題を解決しました。
そしてそれは働いた
アプリをリリースする人には、キーストアファイルからの特別な指紋が必要です。リリースバージョンだけでこのエラーが発生したのも不思議ではありません。 Android上のOAuth 2.0の署名証明書フィンガープリント(SHA1)を取得する方法?
Firebaseコンソールの[認証]でGoogleサインインを有効にしてください。
このエラーは、デバッグキーまたはリリースキーのSHA-1チェックサムがfirebase/googleコンソールに含まれていないために発生します。
最初に次のコマンドを使用してキーを生成します。
keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME
次に、SHA-1チェックサムをコピーして次の場所に移動します。
Firebase Console>プロジェクト>アプリの設定>指紋の追加
Json configファイルを新しいGoogleアカウントで更新すると、このエラーが発生しました。
アプリケーションを手動でアンインストールし、アプリを再インストールするとうまくいきました。
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);