错误:状态{statusCode = DEVELOPER_ERROR,分辨率=空}
我是美国gpluslogin,并获得这个错误,我在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(); } } }
我打电话给gplusloginbutton点击。 在下面的代码执行克扣button…
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);
而我geetng这个错误…
Status{statusCode=DEVELOPER_ERROR, resolution=null}
在这一行….
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
请build议解决scheme。
您需要将您的SHA1密钥添加到Firebase控制台configuration。 你可以这样做:
Firebase控制台( https://console.firebase.google.com ) – >您的项目 – >configuration – >滚动到
您可以在Android Studio中find运行“login报告”的SHA1密钥:
然后,看看“运行标签”,然后点击button:
我认为这是更简单的方法。 希望这个帮助。
可能你使用你的“生产”令牌的SHA1创build了configuration文件,使用“androiddebugkey”别名来收集与你的应用的debugging版本相对应的SHA1,并将configuration文件复制到“app”directoy中,configuration文件(一个用于debugging目的,另一个用于生产环境)。
基于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.现在生成一个你的项目签名的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,并将其作为另一个SHA1指纹添加到您的Firebase应用程序控制台中。
现在你很好走了! —-希望! 它有助于。
请把正确的json文件放在android项目的根目录下
欲了解更多请参阅这里: http : //coderzpassion.com/android-working-latest-google-plus-login-api/
我遇到了同样的问题,我是如何解决这个问题的,就是我的gradle文件中有不同的applicationId,而不是我的清单文件中的包名。 我用applicationId来创buildjson文件。 我不得不将我的软件包名称更改为我的应用程序ID,并为我解决了这个问题。
我在我的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);
我得到这个错误,当我更新我的JSONconfiguration文件与一个新的谷歌帐户。
手动卸载应用程序并重新安装应用程序为我工作。
我解决这个问题的方法是拿起对应于高亮文本的键。 由于Firebase文档页面中“服务器”这个词的用法混乱,我正在拿起Server key
。 这是问题的原因。
你可以在这里find钥匙。
该错误是由于debugging或释放密钥的SHA-1校验和未包含在firebase / google控制台中而引起的。
首先使用以下命令生成密钥:
keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME
然后复制SHA-1校验和并转到:
Firebase控制台>您的项目>应用程序的设置>添加指纹
除了这里提供的答案外,您还可以使用Android Studio的Firebase Assistant,通过点击一些button自动将SHA-1添加到项目中。
在Android Studio中,转至Tools > Firebase > Select 'Authentication'
,然后点击'Email and password authentication'
。
这将为您带来一个关于如何将authentication集成到您的项目的教程,但是由于您可能已经完成了所有这些工作,只需点击'Connect to Firebase'
完成。