错误: 状态{ 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 登录按钮点击。在点击按钮下面的代码执行..。

 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);

请提出解决方案。

117694 次浏览

请将正确的 json 文件放在 android 项目的根目录中
想了解更多请点击这里: http://coderzpasson.com/android-working-best-google-plus-login-api/”rel = “ nofollow norefrer”> https://coderzpassion.com/android-working-latest-google-plus-login-api/

Probably you created the configuration file using the SHA1 of your 制作 token, use the androiddebugkey alias to gather the SHA1 corresponding to the debug version of your app and copy the configuration file to the 'app' directory, you should have both configuration files (one for debug purposes and another for production environment).

基于在 https://developers.google.com/identity/sign-in/android/start中发布的演练

我也遇到了同样的问题,我是如何解决它的呢? 我的 gradle 文件中的 applicationId 与清单文件中的包名不同。我使用 applicationId 来创建 json 文件。我不得不将包名更改为 applicationId,这为我解决了这个问题。

我也遇到过同样的问题,我通过以下步骤解决了这个问题:

1. 将 DEBUG _ KEYSTORE SHA1指纹添加到 Firebase 项目

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

2. 现在为你的项目生成一个签名的 apk。这个过程包括为你的应用程序的发布版本生成一个密钥库。

  Copy the path of the newly generated .jks file.

现在使用以下命令生成 RELEASE _ KEYSTORE SHA1指纹

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4. 从输出中复制新的 SHA1,并将其作为另一个 SHA1指纹添加到您的 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);

我得到这个错误时,我更新了我的 json 配置文件与一个新的谷歌帐户。

手动卸载应用程序并重新安装应用程序对我来说很有效。

You need to add your SHA1 key to firebase console configuration. 你可以这样做:

Firebase 控制台(https://console.firebase.google.com)-> 项目-> 配置-> 滚动到

enter image description here

你可以在 Android Studio 中找到正在运行“签名报告”的 SHA1密钥:

enter image description here

Then, look the "run tab" and click the button:

enter image description here

我觉得这样更简单,希望这能帮上忙。

enter image description here

我修复它的方法是拿起与突出显示的文本相对应的键。由于在 Firebase 的文档页面中“服务器”这个词的混乱用法,我选择了 Server key。这就是问题所在。

你可以找到键 给你

这个错误是由于调试或释放键的 SHA-1校验和没有包含在 firebase/google 控制台中造成的。

首先使用以下命令生成密钥:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

然后复制 SHA-1校验和,转到:

Firebase Console > Your project > 应用程序设置 > 添加指纹

除了这里提供的答案之外,你也可以使用 Android Studio 的 Firebase Assistant 来自动添加你的 SHA-1到你的项目中,只需点击一些按钮。

在 Android Studio 中,转到 Tools > Firebase > Select 'Authentication'并单击显示 'Email and password authentication'的链接。

这将为您带来一个关于如何将验证集成到项目中的小教程,但是由于您可能已经完成了所有这些操作,只需单击 'Connect to Firebase'即可完成。

对于任何发布应用程序的人来说,都需要从密钥存储库文件中获取一个特殊的指纹。难怪我为什么只在发布版本中得到这个错误。如何在 Android 上获得 OAuth 2.0的签名证书指纹(SHA1) ?

确保在 Firebase 控制台的“身份验证”下启用了 Google 登录。

这是一个老问题了,但是我最近一直在纠结错误10(DevelopER _ ERROR) ,因为我使用的是在谷歌开发者控制台中创建的 Android 客户端 ID。

The solution for me was to use the Android credentials in google developer console only to indicate the SHA key of my apk and to use the client ID of the Web application (!) credentials from the google developer console in my cordova application.

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'
},
...

我不用消防栓。

You might have generated and added wrong SHA1 key. Use following steps to generate SHA1 key in Android studio:

  1. 点击“格拉德尔”(从右侧面板,你会看到格拉德尔酒吧)
  2. 单击 Refresh (单击 Refresh from Gradle Bar,您将看到您的项目的 List Gradle 脚本)
  3. 单击您的项目(您的项目名称表单列表(根))
  4. 点击任务
  5. 点击 Android
  6. 双击 signingReport (您将在运行栏中获得 SHA1和 MD5(有时它将在 Gradle Console 中))

现在将这个 SHA1键添加到 Firebase android 项目中。

对于我来说,它在我第一次实现它的时候是可以工作的,但是在开发了几天之后就停止了,出现了上面提到的错误消息。

我通过以下步骤解决了这个问题:

  1. 我在已经放在消防控制台上的指纹上加上了 sha-256指纹。(不确定是否需要此步骤)
  2. I have downloaded google-services.json file again and replaced the old file.
  3. 重新安装了应用程序

成功了

我通过在这行中使用右 Server _ client _ id解决了我的问题:

String serverClientId = getString(R.string.server_client_id);

我用错密码了。

一些服务,如谷歌登录需要 SHA1指纹添加到您的消防控制台。

我错过了在消防控制台加入 SHA 指纹。可以通过执行 FireBase Console > project set > Add print 选项来实现这一点。

您可以通过非常简单的方法 https://www.youtube.com/watch?v=FczARQ244GE生成 SHA1指纹

在那之后,我又犯了一个错误

根据上述方法生成 SHA1密钥后。我复制了错误的无效的 SHA1密钥,这是一个过期的。因此,请确保从上述方式输出中复制的 SHA1键是有效的(同时检查 SHA1键的有效的 until 值)

还要确保在 firebase 中添加的包名(x.y.z)与在 android 代码中使用的相同。

还要确保使用正确的 AppID

经过长时间的调查,我找到了一个解决办法。实际上这个错误 Error: Status{statusCode=DEVELOPER_ERROR, resolution=null}指向不正确的 SHA-1 或者不正确的包名 或者别的什么?.在我的例子中,我将 debug关键字添加到包名 com.sample.app = > com.sample.app.debug的末尾

我纠结于这个问题,因为我在更改软件包名称时复制了我的应用程序。 我在 Firebase 为它添加了一个新项目。 我的错误是我忘记将服务器的客户端 ID 更改为新 Firebase 项目中的客户端 ID。

你可在此了解更多有关使用 Firebase 认证的详情

当您让谷歌管理您的应用程序签名,您可以找到 SHA-1键在谷歌播放控制台。 在侧边栏菜单中查找“ Configuration-> App Integrity”。在这里,你会发现 SHA-1的签名应用程序的关键。

您还可以看到 SHA-1密钥的签名应用程序,您已经上传到商店。

别忘了加上释放指纹。前面的答案告诉只需添加调试指纹,您的问题刚刚解决时,您运行您的应用程序在调试模式。如果你发布你的应用程序,你可以看到你的问题仍然存在。然后确保你也增加了释放指纹。

如果你使用的是 释放版本的 问题(制作) :

转到 谷歌播放控制台并从 Release-> Setup-> App Integrity 复制 SHA-1

这也可能发生在如果你使用的应用程序版本部署在 < a href = “ https://Support.google.com/googleplay/android 开发者/答案/9844679 还有另一个为您生成的证书,您需要在 Firebase 或 GCP 上注册它的 SHA-1指纹

enter image description here

检查下面的步骤

  1. 确保使用正确的 SHA 键
  2. 请求 id 令牌时使用 web 客户端 id,而不是 android 客户端 id

随着新的安卓系统更新,这已经开始发生在我的很多项目。对我有效的修复方法是在 gradle 文件中为调试和发布版本定义 signconfig,并在构建类型中使用它。

在我的一个项目发布版本中,build 工作得很好,但是开发人员版本面临这个错误。

signingConfigs {
debug {
storeFile file('/Users/user/.android/debug.keystore')
storePassword 'android'
keyPassword 'android'
keyAlias 'AndroidDebugKey'
}
release {
storeFile file('/Users/user/Development/your_key')
storePassword 'your_pass'
keyAlias 'your_alias'
keyPassword 'your_pass'
}
}


buildTypes {
release {
minifyEnabled true
debuggable false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
debuggable true
signingConfig signingConfigs.debug
}
}