敏感范围验证

如果您的应用请求使用 Google API 访问 Google 用户的数据,您可能需要先完成验证流程,然后才能首次公开发布您的应用。

此要求是否适用于您的应用主要取决于以下两个因素:

  1. 您可以访问的用户数据类型:公开个人资料信息、日历条目、云端硬盘中的文件、特定健康与健身数据等。
  2. 您需要的访问权限级别(只读、读写等)。

当您使用 OAuth 2.0 从 Google 账号获取访问其数据的权限时,您需要使用称为范围的字符串来指定您想要代表该账号访问的数据类型。如果您的应用请求的范围被归类为敏感受限,您可能需要完成验证流程,除非应用的使用符合例外情况

敏感范围的示例包括读取存储在 Google 日历中的活动、在 Google 通讯录中存储新联系人或删除 YouTube 视频。如需详细了解可用范围及其分类,请参阅应用调用的 API 端点的参考文档,以及为该 API 发布的任何相关授权指南。

您必须请求对用户数据的访问权限最少的范围,以提供该功能。例如,如果 API 及其相关端点可提供更窄的范围,那么仅读取数据的应用不得请求读取、写入和删除内容的权限。您从 Google API 收到的数据只能按照该 API 的政策使用,并且您必须在应用的操作和隐私权政策中向用户说明您会以何种方式使用这些数据。

请务必在应用发布计划中考虑完成验证所需的时间,也要考虑需要新范围的任何新功能所需的时间。敏感范围验证流程通常需要 3 至 5 个工作日才能完成。请注意,您的应用可能符合品牌验证要求,可以作为敏感范围验证请求的一部分完成验证。

了解敏感范围

敏感范围需要经过 Google 审核,然后任何 Google 账号才能授予访问权限。Google Workspace 组织管理员可能会限制对敏感镜的访问权限,以防止组织未明确标记为受信任的 OAuth 客户端 ID 访问这些镜。

了解您的镜重用

  • 查看您的应用使用的或您要使用的镜重。如需查找现有的镜重用情况,请检查应用的源代码,看看是否有任何镜重用随授权请求一起发送。
  • 确定每个请求的权限范围对应用功能的预期操作都是必需的,并且使用提供该功能所需的最小权限。Google API 通常在产品的 Google 开发者页面上针对其端点提供参考文档,其中包含调用端点或其中的特定属性所需的范围。如需详细了解应用调用的 API 端点的必要访问权限范围,请参阅这些端点的参考文档。
  • 您从 Google API 收到的数据只能按照该 API 的政策使用,并且您必须在应用的操作和隐私权政策中向用户说明您会以何种方式使用这些数据。
  • 请参阅 API 文档,详细了解每个镜重范围,包括其可能的 sensitive or restricted 状态。
  • 在 的 中声明应用使用的所有镜重。 您指定的范围会分组为敏感或受限类别,以突出显示需要进行的任何额外验证。
  • 找到与集成所用数据最匹配的范围,了解其用途,重新确认所有内容在测试环境中是否仍能正常运行,然后准备提交以供验证。
表格会显示 API 的名称、其敏感范围之一,以及该范围涵盖的内容的说明。
图 1. OAuth 权限请求页面“范围”配置部分中显示的敏感范围示例。

为验证做好准备的步骤

所有使用 Google API 请求访问数据的应用都必须执行以下步骤才能完成品牌验证:

  1. 确认您的应用不属于验证要求的例外情况部分中的任何用例。
  2. 确保您的应用符合关联 API 或产品的品牌推广要求。例如,请参阅 Google 登录权限范围的品牌推广指南
  3. Google Search Console 中验证项目的已获授权的网域的所有权。使用与您的 项目关联的 Google 账号作为 Owner 或 Editor。
  4. 请确保 OAuth 权限请求页面上的所有品牌信息(例如应用名称、支持电子邮件地址、首页 URI、隐私权政策 URI 等)准确反映了应用的身份。

应用首页要求

请确保您的首页符合以下要求:

  • 您的首页必须可供公众访问,而不仅仅是可供您网站的已登录用户访问。
  • 您的首页与待审核的应用之间的相关性必须明确。
  • 指向 Google Play 商店中应用详情或其 Facebook 页面的链接不属于有效的应用首页。

应用隐私权政策链接要求

确保应用的隐私权政策符合以下要求:

  • 隐私权政策必须向用户显示,托管在与应用首页相同的网域中,并在 的 OAuth 权限请求页面上提供指向该政策的链接。请注意,首页必须包含应用功能的说明,以及指向隐私权政策和可选服务条款的链接。
  • 隐私权政策必须披露您的应用如何访问、使用、存储或分享 Google 用户数据。 您必须将 Google 用户数据的使用范围限制在已发布的隐私权政策中披露的做法。

如何提交应用以进行验证

项目用于整理您的所有 资源。项目由一组关联的 Google 账号(有权执行项目操作)、一组已启用的 API,以及这些 API 的结算、身份验证和监控设置组成。例如,一个项目可以包含一个或多个 OAuth 客户端,配置供这些客户端使用的 API,并配置在用户授权访问您的应用之前向其显示的 OAuth 权限请求页面

如果您的任何 OAuth 客户端尚未准备好用于生产环境,我们建议您从请求验证的项目中将其删除。您可以在 中执行此操作。

如需提交以供验证,请按以下步骤操作:

  1. 确保您的应用符合 Google API 服务条款Google API 服务用户数据政策
  2. 在 中及时更新项目关联账号的所有者和编辑者角色,以及 OAuth 权限请求页面的用户支持电子邮件地址和开发者联系信息。这样可以确保团队中的正确成员会收到有关任何新要求的通知。
  3. 前往 OAuth 。
  4. 点击项目选择器按钮。
  5. 在随即显示的请选择对话框中,选择您的项目。如果您找不到自己的项目,但知道项目 ID,则可以在浏览器中按以下格式构建网址:

    ?project=[PROJECT_ID]

    [PROJECT_ID] 替换为您要使用的项目 ID。

  6. 选择修改应用按钮。
  7. 在 OAuth 同意屏幕页面上输入必要的信息,然后选择保存并继续按钮。
  8. 使用添加或移除镜重按钮声明应用请求的所有镜重。非敏感镜重部分中预先填充了 Google 登录所需的一组初始镜重。添加的镜重范围被归类为非敏感范围, sensitive, or restricted
  9. 最多可以提供三个指向应用中相关功能的任何相关文档的链接。
  10. 在后续步骤中,提供系统要求提供的有关应用的任何其他信息。

    1. Prepare a detailed justification for each requested sensitive scope, as well as an explanation for why a narrower scope isn't sufficient. For example: "My app will use https://www.googleapis.com/auth/calendar to show a user's Google calendar data on the scheduling screen of my app. This lets users manage their schedules through my app and sync the changes with their Google calendar."
    2. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set its Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive scope that you request.
  11. 如果您提供的应用配置需要验证,您可以提交应用以进行验证。填写必填字段,然后点击提交以开始验证流程。

您提交应用后,Google 的信任与安全团队会通过电子邮件跟进,告知您他们需要的任何其他信息或您必须完成的步骤。请查看开发者联系信息部分中的电子邮件地址,以及 OAuth 权限请求页面的支持电子邮件地址,以了解是否有其他信息需要提供。您还可以查看项目的 OAuth 同意屏幕页面,确认项目的当前审核状态,包括审核流程在等待您回复期间是否会暂停。

验证要求的例外情况

如果您的应用将用于以下部分中所述的任何场景,则无需提交以供审核。

个人使用

例如,如果您是应用的唯一用户,或者只有少数用户使用您的应用,并且您都认识这些用户。您和少数用户可能愿意继续前往“应用未经验证”界面,并向您的个人账号授予对应用的访问权限。

在开发、测试或预演阶段使用的项目

为了遵守 Google OAuth 2.0 政策,我们建议您为测试环境和生产环境分别创建项目。我们建议您仅在希望向拥有 Google 账号的任何用户提供应用时,才提交应用以供验证。因此,如果您的应用处于开发、测试或预演阶段,则无需进行验证。

如果您的应用处于开发或测试阶段,您可以将发布状态保留为默认设置“测试”。此设置表示您的应用仍处于开发阶段,并且只能供添加到测试用户列表中的用户使用。您必须管理参与应用开发或测试的 Google 账号列表。

警告消息,提示 Google 尚未验证正在测试的应用。
图 2. 测试人员警告屏幕

仅限服务自有数据

如果您的应用使用服务账号仅访问自己的数据,并且不会访问任何用户数据(与 Google 账号相关联),则无需提交以供验证。

如需了解什么是服务账号,请参阅 Google Cloud 文档中的服务账号部分。如需了解如何使用服务账号,请参阅为服务器到服务器应用使用 OAuth 2.0

仅限内部使用

这意味着,只有您 Google Workspace 或 Cloud Identity 组织中的人员才能使用该应用。该项目必须归组织所有,并且其 OAuth 同意屏幕需要针对内部用户类型进行配置。在这种情况下,您的应用可能需要获得组织管理员的批准。如需了解详情,请参阅 Google Workspace 的其他注意事项

全网域安装

如果您计划仅将应用定位到 Google Workspace 或 Cloud Identity 组织的用户,并且始终使用全网域安装,则您的应用无需进行应用验证。这是因为,在网域范围内安装后,网域管理员可以向第三方和内部应用授予访问您用户数据的权限。只有组织管理员才能将该应用添加到许可名单,以便在其网域中使用。

如需了解如何将应用设为全网域安装,请参阅常见问题解答 我的应用有使用其他 Google Workspace 网域的企业账号的用户