禁用 Google 同意屏幕上的复选框

Joh*_*ead 5 oauth google-api google-oauth gmail-api google-developers-console

我们正在使用 Gmail .NET SDK 实现 Gmail 发送 ASP .NET Web 应用程序。

为此,我们需要用户授予我们以下所有范围“电子邮件”、“个人资料”、“openid”、 https://www.googleapis.com/auth/gmail.send

但是,在同意屏幕上,用户可以取消勾选“代表您发送电子邮件”复选框,这对我们来说是不可接受的,请参见下文:

在此处输入图片说明

我们已经看到很多示例,其中 Google 同意屏幕上没有启用的复选框。所以,我们很想弄清楚如何在我们的应用程序中隐藏/禁用复选框,你能建议吗?

可能是因为我们的申请还没有经过验证,但我不确定这是否是原因。

谢谢,叶夫根尼。

Raf*_*rmo 12

回答:

这些复选框是由于新的细粒度帐户权限系统的推出而产生的,它们是完全正常的,并且无法关闭。

更多信息:

经过一番挖掘,我发现了2018 年Google 开发者博客文章,其中讨论了在新的权限系统中,用户将能够单独授予或拒绝权限。

来自博客文章:

在接下来的几个月里,我们将开始改进我们的 API 基础设施。我们将在其自己的对话框中一次显示应用程序请求的每一项权限,而不是在单个对话框中显示所有权限*。用户将能够单独授予或拒绝权限。

*我们不同的登录范围(个人资料、电子邮件和 openid 都合并在同一个同意中,不需要单独请求。

尽管在撰写本答案时距发布已过去 26 个月,但该解决方案似乎仍处于推出阶段。

为改变做准备:

以下是 Google 提供的指南,说明如何准备对 OAuth 和 API 的 Google 帐户权限系统进行的更改:

  • 查看Google API 服务:用户数据政策并确保您遵守这些政策。
  • 在进行 API 调用之前,请检查用户是否已向您的应用授予权限。这将帮助您避免权限不足的错误,从而导致意外的应用程序错误和不良的用户体验。请参阅以下平台上的文档了解有关此内容的更多信息:
  • 仅在需要时请求权限。您将能够在请求每个权限时进行分阶段,我们建议在上下文中考虑这样做。当用户可能是第一次使用您的应用程序并且不熟悉应用程序的功能时,您应该避免在登录时询问多个范围。将多个范围的请求捆绑在一起会使用户很难理解为什么您的应用程序需要权限,并且可能会警告并阻止他们进一步使用您的应用程序。
  • 在请求访问之前提供理由。清楚地解释为什么您需要访问权限、您将如何处理用户的数据以及他们将如何从提供访问权限中受益。我们的研究表明,这些解释可以提高用户的信任度和参与度。

您可以阅读上述链接的博客文章,了解有关更改的完整信息。

参考: