当前位置: 首页 > 知识库问答 >
问题:

OAuth同意屏幕空白在Android应用程序与谷歌健身

司徒修能
2023-03-14

我试图在我的应用程序中使用Google Fit API,在用户被提示选择Google帐户后,OAuth同意屏幕应该会显示,但是我只得到一个带有不确定加载指示器的空白弹出窗口,除非我取消它,否则该弹出窗口将保持不变。

弹出窗口的图像

不会显示任何错误消息,只有当我取消登录流程时,我才会收到一个错误,即我取消了登录流程。

我尝试了个人项目以及Google的示例项目,其他用户也遇到了同样的问题。

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

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

启动登录流的函数是这个函数,可以在此处找到示例应用中的完整代码

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

感谢任何帮助。

共有2个答案

蔺山
2023-03-14

按照以下说明操作http://developers.google.com/fit/android/get-started用于注册Android客户端。

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

检查云项目的凭据:

  • 确保凭据的程序包名称与示例匹配。
  • 确保程序包名称与应用程序/生成.gradle 文件中的应用程序 ID 匹配。
  • 确保正确输入签名证书指纹。

此外,从OAuthConsenScreen添加测试用户并将用户类型设置为外部

金瑞
2023-03-14

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

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

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

男人有类似的问题与谷歌签名在

 类似资料:
  • 我正在尝试通过OAuth访问谷歌驱动器以进行本地开发。我包括以下范围: 最后一个范围是:https://www.googleapis.com/auth/drive.file 但是,当我获取客户端ID并在本地应用程序中使用它时,我只被要求通过google对其进行签名。我没有被要求获得有关驱动器文件访问的任何权限。我通过读取登录后获得的访问令牌进一步检查它。在json格式的详细信息中,范围显示以下内容

  • 当使用OAuth2登录我们的应用时,常规的Google(即。gmail)帐户会出现一次同意屏幕,然后不再提示。当我使用我们基于Google Apps的Google帐户登录时,每次我都会看到同一个屏幕提示“您的域管理员已经批准访问X”。此外——同意屏幕上有我的谷歌头像的巨幅(512x512)图像。 关于为什么这些是不同的,有什么见解吗? 我正在请求以下范围 [“配置文件”、“电子邮件”、] ,并且已

  • 我正在尝试在Google Drive上备份我的android应用程序的应用程序数据。因此,我请求访问https://www.googleapis.com/auth/drive.appdata, https://www.googleapis.com/auth/drive.file使用google_sign_in包的作用域。 我在Google Developer Console上创建了一个项目,启用了

  • 我正在开发一个我希望成为多租户的Office 365应用程序:也就是说,我希望该应用程序能够访问来自其他组织的用户的交换数据。到目前为止,我已经能够代表所需的第三方用户创建OAuth 2访问令牌,但从未向用户显示同意屏幕,API请求失败,401未授权错误包含以下标头: 更详细地说,我做了以下工作。我已经创建并配置了 Azure AD 应用程序。我已将应用程序配置为多租户,并添加了 AAD 访问以及

  • 我已经用Google Oauth构建了一个Flutter应用程序,但是我遇到了意图过滤器的障碍。 我用https://pub.dev/packages/oauth2_client用于登录的软件包。 我在谷歌Api控制台中创建了一个Android凭据,它只给我一个客户机id(在本例中是:“abc”)。 我的登录功能是: 我在main/AndrodiManifest中添加了意图过滤器。xml: 当登录

  • 1)创建新项目。 2)选定的谷歌地图创建。 3)调试google_maps_api.xml所遵循的步骤。 5)AndroidManifest.xml