Android Google登录DEVELOPER_ERROR 10

时间:2018-10-05 03:24:23

标签: android oauth google-api google-oauth google-signin

我正在尝试将Google登录添加到我的Android应用中。我已按照以下链接中的说明进行操作:

https://developers.google.com/identity/sign-in/android/start-integrating

我已双重检查是否满足所有先决条件:1.我具有API版本27,Google Play服务版本49,Google存储库版本58。我还创建了用于调试的密钥库(JKS),并具有应用程序签名(Android Studio:文件->项目结构->(模块)应用程序->然后使用此密钥存储区和创建的别名配置“签名”,“风味”和“构建类型”标签。然后,我在Google Cloud控制台中创建了一个项目,适用于Android的OAuth凭据,并已配置SHA1指纹,并确保程序包名称与清单文件相同。

但是,以下代码始终会导致APIException (com.google.android.gms.common.api.ApiException:10 :,状态{statusCode = DEVELOPER_ERROR,分辨率=空})。

我已按照以下链接关注代码段:https://developers.google.com/identity/sign-in/android/sign-in

 private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
        try {
            GoogleSignInAccount account = completedTask.getResult(ApiException.class);

            // Signed in successfully, show authenticated UI.
           String k="";
        } catch (ApiException e) {
            // The ApiException status code indicates the detailed failure reason.

        }
    }

然后,我在Google Cloud Console项目中删除了Android OAuth凭据,然后创建了一个Web应用程序项目,并尝试在我的Android代码中使用客户端ID,但这也无法正常工作。我有同样的例外。我在这里做什么错了?

我还想知道显示在Google云控制台项目的OAUth凭证中的Client Secret(可下载JSON文件)有什么用途?

我还阅读了一些文章,其中提到了有关Google-services.json文件的文章,但我没有将其添加到我的项目中,因为我遵循的Google开发人员文档(上述)并未提及此类活动。我还没有在项目的OAuth凭据内的Google Cloud Console中看到这样的文件。我在这里想念东西吗?

1 个答案:

答案 0 :(得分:1)

您已在Firebase控制台中添加了调试 SHA-1密钥

您需要在Firebase控制台中添加 release SHA-1键

您可以按照以下步骤生成SHA-1版本密钥:

  • 在gradle文件中添加签名配置
  • 单击gradle选项(位于android studio的右侧)
  • 点击:<AppName>-> android-> signingReport(双击它)。
  • 这将生成签名SHA-1密钥,您可以在标签下面的android studio的Run选项中看到它。

    注意:-将进行调试并释放两个SHA-1密钥,这些密钥将出现在Run标签中。您需要选择释放SHA-1密钥。 ((如果找不到发布的SHA-1键,请仔细检查您是否已在应用级别build.gradle文件中添加了发布配置)。

  • 现在您可以在“运行”标签中看到发布的SHA-1键enter image description here