授权范围

用户必须授权脚本项目访问其数据或代表其执行操作。当用户运行第一个需要授权的脚本时, 界面会显示启动授权流程的提示。

在此流程中,界面会告知用户脚本需要哪些权限 。例如,脚本可能需要读取用户 电子邮件消息或在日历中创建活动。脚本项目将这些单独的权限定义为 OAuth 范围

对于大多数脚本,Apps 脚本会自动检测哪些范围 应用场景您可以查看脚本使用的范围 。您还可以明确设置范围 添加到清单中。有时,对于插件等特定应用,需要明确设置镜重范围,因为已发布的应用应始终使用尽可能窄的镜重范围。

在授权流程中,Apps 脚本会以直观易懂的方式呈现 向用户说明所需范围。例如,如果您的脚本 需要拥有您电子表格的只读权限,则清单可能具有 https://www.googleapis.com/auth/spreadsheets.readonly。在授权流程中,具有此范围的脚本会要求用户允许此应用“查看您的 Google 电子表格”。

某些范围包含其他范围。例如,在向范围授权后 https://www.googleapis.com/auth/spreadsheets允许对 电子表格。

查看范围

您可以执行以下操作,查看脚本项目当前需要的范围:

  1. 打开脚本项目。
  2. 点击左侧的概览
  3. 查看 Project OAuth Scopes 下的范围。

设置显式范围

Apps Script 会扫描脚本代码,找出需要相应作用域的函数调用,从而自动确定脚本需要哪些作用域。对于大多数脚本来说, 足以为您节省时间,但对于已发布的插件, 应用、Google Chat 应用以及对 Google Chat API 的调用,您必须多加练习 范围的直接控制权。

Apps 脚本有时会自动分配项目非常宽松的范围。 这可能意味着您的脚本会要求用户提供超出需求的内容,这是糟糕的 做法。对于已发布的脚本,您必须将宽泛范围替换为 可以满足脚本需求。

您可以通过修改 manifest 文件。清单字段 oauthScopes 是项目使用的所有范围的数组。要设置您的 项目范围,请执行以下操作:

  1. 打开脚本项目。
  2. 点击左侧的项目设置
  3. 选择显示“appsscript.json”“清单文件”复选框。
  4. 点击左侧的编辑器
  5. 点击左侧的 appsscript.json 文件。
  6. 找到标记为 oauthScopes 的顶级字段。如果不存在 就可以添加它了
  7. oauthScopes 字段指定一个字符串数组。如需设置范围,请执行以下操作: 请将此数组的内容替换为您所需的范围 资源。 例如:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
  8. 点击顶部的“保存”图标

OAuth 验证

某些 OAuth 范围敏感,因为它们允许访问 Google 用户数据。如果您的脚本项目使用允许访问用户数据的范围,则必须先通过 OAuth 客户端验证,然后才能将其作为 Web 应用或插件公开发布。如需了解详情,请参阅以下指南:

受限范围

除了敏感范围之外,某些范围还被归类为受限范围,并受助于保护用户数据的其他规则约束。如果您希望 发布使用一个或多个 API 的 Web 应用或插件 受限范围,应用必须遵守所有指定的限制 然后才能发布

在尝试发布之前,请先查看受限镜区的完整列表。如果您的应用使用了其中任何一个,则必须在发布前遵守有关特定 API 范围的其他要求