【问题标题】:OAuth consent screen blank in android app with Google Fit使用 Google Fit 的 Android 应用程序中的 OAuth 同意屏幕为空白
【发布时间】:2021-04-20 11:18:03
【问题描述】:

我正在尝试在我的应用程序中使用 Google Fit API,在提示用户选择 Google 帐户后,应显示 OAuth 同意屏幕,但是我只得到一个带有无限加载指示器的空白弹出窗口,这个弹出窗口除非我取消它,否则将保持这种状态。

Image of the popup

不显示错误消息,只有当我取消登录流程时,我才会收到取消它的错误。

我尝试过个人项目以及Google's sample proyect,其他用户也是experiencing the same issue

正如我在该问题上所描述的,我已经在一个模拟器、华为 Pro 20 Lite 和另一台设备上使用四个不同的帐户测试了这两个应用程序,但得到了相同的结果。

在 Google Cloud Console 中也有正确的配置,使用正确的 applicationId 和 SHA1 签名密钥,我尝试了两个不同的云项目,其中一个是全新的。

启动登录流程的函数就是这个,示例应用的完整代码可以找到here

GoogleSignIn.requestPermissions(
    this,
    requestCode.ordinal,
    getGoogleAccount(), fitnessOptions)

感谢您的帮助。

【问题讨论】:

  • 这里面临完全相同的问题,在两个不同的设备上进行了测试,使用两个不同的谷歌帐户(均作为测试人员添加),同时具有调试和发布版本/证书,所有这些都卡在同意屏幕上,没有任何错误信息。有人说我们需要在firebase项目中启用google身份验证,也试过了,没有成功。

标签: android oauth google-fit


【解决方案1】:

按照http://developers.google.com/fit/android/get-started 的说明注册 Android 客户端。

确保为您的 Cloud 项目启用 Fit API。

检查您的 Cloud 项目凭据:

  • 确保您的凭据包名称与示例匹配。
  • 确保包名称与 app/build.gradle 文件中的 applicationId 匹配。
  • 确保正确输入签名证书指纹。

另外从 OAuthConsentScreen 添加测试用户并将用户类型设置为外部

【讨论】:

  • 是的,我已经确保我满足您列出的所有要求,结果相同...
【解决方案2】:

我找到了一个解决方案,这很奇怪,但无论如何它对我有用:

  • 删除您的 Cloud 项目
  • 使用 firebase 创建一个新项目,而不是 http://developers.google.com/fit/android/get-started 中的以下说明。
  • 在 Firebase 项目设置中添加一个 android 应用
  • 向其中添加 SHA1 和 SHA256。
  • 将 google-services.json 下载到项目文件夹中的 android/app 中。
  • 确保在常规项目设置中设置了我的“支持电子邮件”。

如果这没有帮助,也请检查Flutter and google_sign_in plugin: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)

GoogleSignIn 也有类似的问题

【讨论】:

  • 我想这是一个很好的临时修复,官方文档中没有详细说明,但在谷歌解决之前,它可以工作。
  • 这不是我们的解决方案,因为我们的项目处于生产模式......有什么想法吗?
猜你喜欢
  • 2019-12-11
  • 2021-10-23
  • 2019-05-17
  • 2020-08-05
  • 2017-08-08
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2019-12-17
相关资源
最近更新 更多