Google登录会生成一个状态码#34; Developer_Error"

时间:2017-10-17 13:48:45

标签: android firebase google-cloud-platform google-signin sha1

我已经搜索并尝试了Google Developers网站,Stack Overflow和其他有用博客文章中提供的几乎所有内容。但没有什么对我有用。

我的应用已成功登录Google帐户,但当我在应用中进行了一些基本更改(根本与Google API无关)并在Play商店上传了更新后的APK, Google登录之后没有工作。

当我从Android Studio运行应用程序时(使用debug build-variant和release build-variant),登录就像魅力一样。然后我生成 signed-apk 并将其上传到Play商店。当我从Play商店安装应用时,它没有登录并提供 statusCode = DEVELOPER_ERROR

我已在Google Cloud Console上创建了该项目,在该项目中为Android创建了OAuth 2.0客户端ID,并在该客户端ID中添加了SHA1(为发布生成)。然后我下载了google-services.json文件并将其放在我项目的 app 文件夹中。

我似乎没有错过任何东西。但登录仍然无法正常工作。请让我知道问题所在。

P.S。:Firebase也集成到我的Android项目中。

以下是GoogleApiClient

onCreate()的设置代码
googleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(MainActivity.this, this)
                .addApi(Auth.GOOGLE_SIGN_IN_API, signInOptions).build();
googleApiClient.connect();

这是单击“登录”按钮时调用的方法。

public void signIN() {
        Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
        startActivityForResult(intent, REQ_CODE);
}

这是来自onActivityResult()的代码

if (requestCode == REQ_CODE) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            if(result.isSuccess()){
                GoogleSignInAccount account = result.getSignInAccount();
                //Do something
            }else{
                Toast.makeText(getApplicationContext(), "Unable to Sign in. Try again.", Toast.LENGTH_SHORT).show();
            }
            Log.d("GoogleResult", result.getStatus().toString());
}

2 个答案:

答案 0 :(得分:3)

您的代码没有错。

显然,谷歌推出了一款名为" App sign"进入Google Play开发者控制台。

根据this answer(对我有用!),你必须去发布管理>应用程序在Google Developer Console中登录。

你看到"应用签名证书"和"上传证书"。应将SHA-1和调试SHA-1添加到Firebase控制台。

答案 1 :(得分:0)

我曾经遇到过同样的问题。这是因为我正在使用其他一些OAuth2.0客户端。

这是你应该做的:

使用oauth2.0 id,您可以找到此键的值

打开google-services.json

project-info > client > oauth_client[1] > client_info 

确保在firebase常规设置中添加了发行版和调试密钥的SHA1指纹,并使用更新的.json文件。