OAuth 客户端验证

请求敏感 OAuth 范围的 Apps 脚本项目。

请求某些敏感 OAuth 范围的 Google OAuth 客户端必须经过 Google 验证。 如需大致了解 授权流程,请参阅 授权使用 Google 服务

如果 Google Apps 脚本项目的所有者和用户属于同一 Google Workspace 网域或客户,则无需进行验证。

如果您未验证脚本项目的 OAuth 客户端,则网域外的用户在尝试授权您的脚本时会看到表明应用未经验证的屏幕。通过未经验证的授权流程,这些用户可以授权未经验证的应用并使用这些应用,但前提是他们必须确认自己了解相关风险。此外,未经验证的应用的用户总数也有限制。

如需了解详情,请参阅以下文章:

 

“未经验证的应用”警告界面。
图 1:未经验证的应用屏幕
一个 GIF 动画,显示未经验证的应用的授权流程。
图 2:未经验证的应用授权流程

 

此项变更适用于 Google OAuth 网络客户端,包括所有 Apps 脚本项目使用的客户端。通过向 Google 验证您的应用, 您可以从授权流程中移除表明应用未经验证的屏幕,并 让用户确信您的应用不是恶意应用。

未经验证的应用

Google Workspace 插件、网络应用和其他部署(例如使用 Apps 脚本 API的应用)可能需要验证。

插件不再作为 Google Workspace 插件审核流程的一部分进行验证,并且 必须在发布插件之前进行验证。

适用性

如果应用使用敏感 OAuth 范围,则表明应用未经验证的屏幕可能会作为授权流程的一部分显示。该屏幕是否显示(以及由此产生的未经验证的应用授权流程)取决于应用是从哪个账号发布的,以及哪个账号尝试使用该应用。例如,在特定 Google Workspace 组织内发布的应用不会导致该网域中的账号出现未经验证的应用授权流程,即使该应用尚未经过验证也是如此。

下表说明了哪些情况会导致出现未经验证的应用授权流程:

客户端已通过验证 发布者是客户 A 的 Google Workspace 账号 脚本位于客户 A 的共享云端硬盘中 发布者是 Gmail 账号
用户是客户 A 的 Google Workspace 账号 正常授权流程 正常授权流程 正常授权流程 未经验证的授权流程
用户是 客户 A 的 Google Workspace 账号 正常授权流程 未经验证的授权流程 未经验证的授权流程 未经验证的授权流程
用户是 Gmail 账号1 正常授权流程 未经验证的授权流程 未经验证的授权流程 未经验证的授权流程

1 任何 Gmail 账号,包括用于 发布应用的账号。

用户数上限

为了限制可能的滥用行为,可以使用未经验证的应用流程授权应用的用户数量有限制。如需了解详情,请参阅 OAuth 应用用户数上限

请求验证

您可以请求验证应用使用的 OAuth 客户端及其关联的 Google Cloud 项目。应用通过验证后,用户将不再看到表明应用未经验证的屏幕。此外,您的应用将不再 受用户数上限的限制。

要求

如需提交 OAuth 客户端以进行验证,您必须满足以下要求:

  1. 您必须拥有一个网域上的网站。该网站必须托管可公开访问的页面,其中描述了您的应用及其隐私权政策。您还必须 在 Google 上验证您对该网站的所有权

    您无需使用此网域中的账号发布应用,但网域所有者必须是脚本项目的编辑者或所有者。

  2. 您的脚本项目使用的 Google Cloud 项目 必须是 标准 Google Cloud 项目 ,并且您拥有该项目的编辑权限。如果您的脚本使用的是其默认 Google Cloud 项目,则必须 切换到标准 Google Cloud 项目

此外,您还必须拥有以下必需 资产:

  • 应用名称 。应用的名称;此名称会显示在权限请求页面上。它应与在其他位置(例如 已发布应用的 Google Workspace Marketplace 商品详情)中使用的应用名称一致。
  • 应用徽标 。一个应用徽标 JPEG、PNG 或 BMP 图片,用于显示在权限请求页面上。其文件大小不得超过 1MB。
  • 支持电子邮件地址 。此电子邮件地址会显示在权限请求页面上,供用户在需要应用支持时联系。它可以是您的电子邮件地址,也可以是您拥有或管理的 Google 群组。
  • 范围 。您的应用使用的所有范围的 列表。您可以在 Apps 脚本编辑器中 查看您的范围。
  • 已获授权的网域 。这是包含有关您的应用信息的网域列表。您的应用的所有链接(例如其必需的隐私权政策页面)都必须托管在已获授权的网域中。
  • 应用首页网址 。描述应用的首页的位置。此位置必须托管在已获授权的网域中。
  • 应用隐私权政策网址 。描述应用隐私权政策的页面的位置。此位置必须托管在已获授权的网域中。

除了上述必需资产之外,您还可以选择性地提供应用服务条款网址 ,该网址指向描述应用服务条款的页面。如果提供,此位置必须位于已获授权的网域中。

步骤

  1. 如果您尚未验证用于托管脚本项目的隐私权政策和其他信息的所有已获授权网域的所有权,请先进行验证。网域的经过验证的所有者必须是脚本 项目的 Editor 或 Owner。
  2. 在 Apps 脚本项目中,点击概览 。在项目 OAuth 范围下,复制脚本项目 使用的范围。
  3. 使用您收集的文本和网址资产,为应用的 Google Cloud 项目填写 OAuth 权限请求页面。

    1. 列出托管应用信息(例如隐私权政策)的已获授权的网域
    2. 如需添加应用范围,请点击添加或移除范围 。系统会尝试自动检测您在 Google Cloud 控制台中启用的 API(例如 高级服务)的范围。您可以通过选中相应的复选框,从此列表中选择范围。

      此自动检测到的列表并不总是包含 Apps 脚本 内置服务使用的范围。 您必须在手动添加范围 下输入这些范围。

      完成后,点击更新

  4. 输入所有必需信息后,点击保存

  5. 点击提交以进行验证 ,开始验证请求。

大多数验证请求会在 24 到 72 小时内收到回复。 您可以在 OAuth 权限请求页面表单的顶部查看验证状态 。当您的 OAuth 客户端的验证得到确认后,您的应用即通过验证。

如果您的应用已通过验证,但后来您决定 切换到另一个 Google Cloud 项目, 则必须重复这些步骤,以确保应用保持验证状态。