敏感范围验证

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

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

  1. 您访问的用户数据类型 - 公开的个人资料信息、日历条目、 驾驶、某些健康和健身数据等
  2. 您需要的访问权限级别,如只读、读取和写入等。

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

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

您必须请求符合以下要求的范围 对提供相应功能所需的用户数据的访问权限最少。例如,如果 API 及其相关端点可提供更窄的范围,那么仅读取数据的应用不得请求读取、写入和删除内容的权限。您从 使用 Google API 时,必须遵守 API 的政策要求, 在应用的操作和隐私权政策中向用户传达这些信息。

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

了解敏感范围

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

了解您的范围使用情况

  • 查看您的应用使用或您想要使用的范围。如需查找现有的范围使用情况,请执行以下操作: 检查应用的源代码,找出随授权请求一起发送的任何作用域。
  • 确定所请求的每个范围都是应用功能的预期操作所必需的 并使用提供该功能所需的最小权限。Google API 通常具有 产品的参考文档 Google 开发者页面,其中包含调用 端点或特定属性。有关 访问 API 端点,请阅读这些 API 端点的参考文档 端点。
  • 使用 Google API 接收的数据时,必须遵守 以及您在应用操作和 隐私权政策。
  • 请参阅 API 文档,详细了解每个范围及其潜在用途 sensitive or restricted 状态。
  • 在 API Console的 OAuth 权限请求页面配置范围页面中声明应用使用的所有范围。您指定的范围被划分为“敏感”或“受限” 以突出显示所需的任何其他验证。
  • 找到与您的集成所使用的数据相匹配的最佳范围,了解其使用情况, 重新确认一切在测试环境中仍可正常运行,然后准备提交 验证。
。 <ph type="x-smartling-placeholder">
</ph> 一个表格显示了 API 的名称、其中一个敏感范围,以及 API 的
            范围涵盖的内容
图 1.敏感事件示例 OAuth 同意屏幕配置范围页面中显示的范围。

验证准备工作

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

  1. 确认您的应用不属于 验证要求的例外情况部分。
  2. 确保您的应用符合相关 API 的品牌塑造要求,或 产品。有关示例,请参阅品牌推广指南
  3. 验证项目的所有权 已获授权的网域 Google Search Console。使用 Google 与您的 API Console 项目关联的账号, 所有者或编辑者。
  4. 确保 OAuth 同意屏幕上显示的所有品牌信息(例如应用名称)、支持信息 电子邮件地址、首页 URI、隐私权政策 URI 等可准确反映应用的身份。

应用首页要求

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

  • 您的首页必须可公开访问,而不是只有您网站的已登录用户才可以访问 用户。
  • 您的首页与正在审核的应用的相关性必须明确。
  • 系统不会考虑指向您的应用在 Google Play 商店中的商品详情的链接或应用 Facebook 页面的链接 有效的应用首页

应用隐私权政策链接要求

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

  • 隐私权政策必须向用户公开显示,托管在与应用首页相同的网域中,并且在 Google API Console的 OAuth 权限请求页面上提供指向该政策的链接。请注意,首页必须包含 应用功能的说明,以及指向隐私权政策和 可选的服务条款。
  • 隐私权政策必须披露您的应用访问、使用 存储或分享 Google 用户数据。 您只能按照您发布的内容中的规定,使用 Google 用户数据 隐私权政策。

如何提交应用以进行验证

Google API Console 项目可以组织您的所有 API Console 资源。项目由一组关联的 有权执行项目操作的 Google 账号、一组已启用的 API,以及 结算、身份验证和监控设置。例如,项目可以 包含一个或多个 OAuth 客户端,配置 API 以供这些客户端使用, 在用户授权访问您的应用之前向其显示 OAuth 同意屏幕

如果您有任何 OAuth 客户端尚未准备好投入使用,我们建议您从以下位置将其删除: 请求验证的项目。您可以在 Google API Console

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

  1. 确保您的应用符合 Google API 服务条款Google API 服务用户数据政策
  2. 确保项目的关联账号的所有者和编辑者角色处于最新状态,以及您的 OAuth 同意屏幕的用户支持电子邮件地址和开发者联系信息, API Console。这样可确保 团队会收到有关新要求的通知。
  3. 前往 API Console OAuth Consent Screen page
  4. 点击项目选择器按钮。
  5. 在随即显示的请选择:对话框中,选择您的项目。如果您找不到 项目,但您知道项目 ID,则可以在浏览器中的 格式:

    https://console.developers.google.com/apis/credentials/consent?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 尚未验证正处于测试阶段的应用。
图 2. 测试人员警告屏幕

仅限由服务拥有的数据

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

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

仅限内部使用

也就是说,只有您的 Google Workspace 或 Cloud Identity 中的人可以使用该应用 组织。项目必须归组织所有,且对应的 OAuth 同意屏幕 需要针对 内部用户 type。在这种情况下,您的应用可能需要获得组织管理员的批准。对于 请参阅 其他 Google Workspace 的注意事项

全网域安装

如果您计划让应用仅针对 Google Workspace 或 Cloud Identity 用户 并始终在整个网域范围内 安装,那么您的应用就不需要进行应用验证了。这是因为 安装后,域管理员就可以向第三方和内部应用授予 用户的数据。只有组织管理员才能将该应用添加到许可名单,以便在其网域中使用。

请参阅常见问题解答,了解如何让应用成为全网域安装 我的应用中有用户使用 企业账号