Google Cloud 项目

每个 Apps 脚本项目都使用 Google Cloud:管理授权、 高级服务和其他详细信息。 为了配置和管理这些设置,每个 Apps 脚本项目都有一个 关联的 Google Cloud 项目。 您的脚本项目可以使用 Apps 脚本的默认项目 自动创建或 您创建的标准项目 。一般来说,默认项目适用于日常工作或简单的工作 但您应该对任何需要处理脚本的应用程序使用标准项目, 复杂、商业质量,或者您想要发行。

您可以从默认项目切换到标准项目 可以随时更改,但无法切换回使用默认项目。最好 选择您的脚本在开发早期使用的 Cloud 项目。 稍后切换可能会导致复杂问题,例如要求用户 重新授权。

默认的 Cloud 项目

当您创建 Apps 脚本项目时,Apps 脚本会创建一个 在后台运行的 Cloud 项目。

  • 对于大多数脚本,您永远不需要查看或调整此默认项目。应用 脚本负责处理与 Google Cloud 的必要交互。例如,如果 您在 Apps 脚本编辑器(即 Apps 脚本)中激活了一项高级服务, 当您在 Google Cloud 上 保存脚本项目。
  • 对于某些脚本,您需要与 Google Cloud 控制台进行交互。在这些 那么您的脚本必须改用标准 Cloud 项目。对于 例如,如需在 Google Cloud 控制台中查看 Google Cloud 日志,您的脚本必须使用 标准项目。

默认情况下,Cloud 项目具有 Identity and Access Management (IAM)政策包含一个条目,即充当 默认项目Google 服务账号是 appsdev-apps-dev-script-auth@system.gserviceaccount.com

查看或更新默认的 Cloud 项目

大多数用户无法直接在 Google Cloud 控制台。如果您是管理员,请参阅查看默认的 Google Cloud 项目

如果您的脚本项目是在 2019 年 4 月 8 日之前创建的,则可以使用 可在 Google Cloud 控制台中访问的默认项目。要访问 请前往脚本项目的设置,然后点击 数字。

删除默认的 Cloud 项目

如果您是管理员,则可以按照以下方式删除默认 Cloud 项目 标准 Cloud 项目。请参阅删除 Apps 脚本云项目

如果您不是管理员,则无法删除默认项目。但是,在以下情况下,Apps 脚本会删除默认项目:

  • 如果您删除脚本项目或将其切换为标准项目, 脚本会删除附加到脚本的默认项目以及 设置或信息
  • 如果脚本未运行 180 天或更长时间,Apps 脚本 删除与其关联的默认项目。如果脚本在 Apps 脚本会删除自己的默认项目,Apps 脚本会为其创建一个 脚本。

标准 Cloud 项目

默认 Cloud 项目是大多数脚本项目的最佳选择, 除非您需要手动配置项目。 在这些情况下, 将您的脚本项目切换为使用标准项目

以下部分介绍了 Apps 脚本在什么情况下需要使用标准项目, 这些项目的属性,以及通过它们完成的常见任务。您只能 在标准项目中执行以下任务。

当 Apps 脚本需要标准 Cloud 项目时

在以下情况下,您必须使用标准项目:

标准 Cloud 项目属性

标准项目具有以下属性:

  • 您可以直接访问项目的所有 Google Cloud 设置 访问 Google Cloud 控制台。这让您可以激活 API、调整授权 凭据,并配置其他详细信息。
  • 删除脚本项目或将其切换为 使用其他标准项目,原始标准项目仍会保留,并且可以 资源。
  • 启用高级服务后 则必须在脚本项目中手动激活相应的 API 标准项目。
  • 多个脚本项目和其他应用可以共享内容 标准项目。如果您打算发布脚本项目 添加到 Google Workspace Marketplace 作为插件 它必须具有自己的标准项目无法分享已发布的应用 Cloud 项目与其他应用的集成。
  • 如果您想使用 Apps Script API 的 scripts.run 方法, 脚本项目和调用应用必须使用相同的标准 项目。
  • 当 Apps 脚本要求用户授权使用标准的脚本时, 项目时,Cloud 项目名称用于标识脚本(而不是 脚本项目名称)。因此,请确保设置适当的 Cloud 项目名称。

访问标准 Cloud 项目

访问与您的脚本关联的标准项目 项目时,请执行以下操作:

  1. 打开 Apps 脚本项目。
  2. 点击左侧的项目设置
  3. Google Cloud Platform (GCP) 项目下,点击项目编号。

您也可以直接在 Google Cloud 控制台的管理资源页面上找到标准项目。

在标准 Cloud 项目中激活 API

Apps 脚本应用经常需要访问其他 Google API。为此, 您必须在相应的 Cloud 项目中激活该 API。 执行以下操作来激活 API:

  1. 打开 Cloud 项目
  2. 点击“菜单”图标 > API 和服务
  3. 点击启用 API 和服务
  4. 在搜索框中输入要启用的 API,然后按 Enter 键。
  5. 点击搜索结果中的 API,然后点击启用以启用 此 Cloud 项目的 API。

系统可能会提示您接受 Google APIGoogle Cloud。查看条款 请务必谨慎行事。

根据具体应用,您可能还需要通过以下方法配置 API 您可在API 和服务信息中心。

确定 ID 和标准 Cloud 项目的

所有 Cloud 项目都有项目名称、项目 ID 和项目编号。 有时,您必须拥有这些标识符才能 配置服务或完成其他任务。

如需确定标准项目的 ID 和编号,请执行以下操作:

  1. 打开 Cloud 项目
  2. 点击右上角的“更多”图标 > 项目设置
  3. 查看项目名称项目 ID项目编号 在随即显示的设置面板中。项目编号仅包含 数字,而项目 ID 是字母数字。您可以修改 项目名称,在授权提示时向用户显示。

查看 Google Cloud 日志和Google Cloud 控制台中的错误报告

如果您使用的是 Google Cloud Logging错误报告 您可以在脚本项目中查看这些日志和报告 执行以下操作,Google Cloud 控制台

  1. 打开 Cloud 项目
  2. 点击“菜单”图标
  3. 向下滚动到操作部分 然后点击 Logging > Logs Explorer
  4. 如需查看错误报告,请向下滚动到操作部分 然后点击 Error Reporting。如果系统提示您 设置错误报告,这表示您的脚本项目 尚未记录任何异常。

在使用需要 OAuth 的服务时,Google 会提示用户进行授权 服务。通过 OAuth 同意屏幕设置,您可以设置一些 Google 向用户提供的内容,例如 应用名称和服务条款网址。

默认的 Cloud 项目会根据 Apps 脚本项目详情;您无法调整这些设置 借助标准 Cloud 项目, 您可以自定义此信息您可以在脚本中配置意见征求机制 执行以下操作:

  1. 打开 Cloud 项目
  2. 点击“菜单”图标 > API 和服务 > 凭据
  3. 点击配置同意屏幕
  4. 填写同意屏幕工作流程的每个部分。
  5. 要记录您在工作流程的每个阶段所做的更改,请点击 保存并继续

创建 OAuth 凭据

Apps 脚本通常会为服务设置 OAuth 脚本使用的资源。对于某些应用,您必须创建额外的 OAuth 凭据(客户端 ID 和客户端密钥)。您只能通过 标准项目

如需为您的脚本项目创建客户端 ID 和客户端密钥,请执行以下操作: 以下:

  1. 打开 Cloud 项目
  2. 点击“菜单”图标 > API 和服务 > 凭据
  3. 点击创建凭据 > OAuth 客户端 ID
  4. 应用类型下,选择您的应用类型并 根据需要填写显示的表单。完成后,点击创建
  5. 在出现的对话框中,点击下载 JSON。您可以 请使用此文件来配置 OAuth

向标准 Cloud 项目添加其他所有者

您可以向标准项目添加其他所有者或其他角色。 如果您正在协作完成某个项目,这有助于确保 团队始终可以访问脚本项目的 Google Cloud 设置。

您可以向标准项目添加其他所有者或其他角色,方法是执行 关注。您必须要有项目的修改权限才能 这些更改:

  1. 确定协作者。我们建议您 创建或使用现有的 Google 群组。您可以 还可在协作者列表中指定域,以包含该协作者列表中的所有用户 网域。
  2. 打开脚本的 Cloud 项目
  3. 点击“菜单”图标 > IAM 和管理员 > IAM
  4. 点击顶部的添加
  5. 按照屏幕上的说明添加一位或多位新成员及其 授予 Cloud 项目访问权限。您可以添加个人电子邮件地址、Google 群组或 网域添加为新成员。
  6. 点击保存

使用单个 Cloud 项目对多个脚本进行分组

您可以让多个 Apps 脚本项目共用同一个标准 Cloud 项目中。为此,请创建一个标准项目 切换每个脚本项目 使用。不能对默认项目执行此操作。

使用其他标准 Cloud 项目

您可以切换脚本项目,使其使用其他标准 Cloud 项目中。如果您的脚本需要手动配置 Cloud 项目,则必须从默认项目切换到标准项目, 项目。学习内容 请参阅 标准 Cloud 项目

切换到其他标准 Cloud 项目的影响

将脚本从默认项目或其他标准切换为其他标准 项目,则会产生以下影响:

  • 如果您为脚本激活了高级服务,则必须启用 中的相应 API 创建新的 Google Cloud 项目您将丢失与高级功能相关的任何数据 先前的 Cloud 项目中的服务。了解如何启用 API 请参阅启用 Google Workspace API
  • 如果您的脚本使用内置的 Google 云端硬盘服务,您必须开启 标准 Cloud 项目中的 Drive API。

    在您的标准 Cloud 项目中,启用 Drive API:

    启用 Drive API

  • 之前已向脚本授权的所有用户都必须重新授权。在 大多数情况下,只要用户之前已授权 新项目也必须重新授权
  • 如果您的脚本与 Google Workspace Marketplace 中的应用详情相关联,您的应用详情、用户和评价不会转移到您的 新项目。您必须在新项目中创建应用详情, 用户必须重新安装您的应用。如需了解如何创建新的 请参阅发布应用
  • 您无法将脚本切换回默认项目。Apps 脚本删除次数 默认项目。

切换到其他标准 Cloud 项目

将脚本的现有 Cloud 项目切换到另一个 Cloud 项目中,请按以下步骤操作:

  1. 如果您没有合适的 Cloud 项目,请创建 请按照创建项目 操作说明。设置一个容易记住的项目名称,以便 您可以在 Google Cloud 控制台的管理资源页面上找到该资源。Apps 脚本会在以下情况下使用此名称: 要求用户对脚本进行授权
  2. 如果您想使用现有项目,请打开 Google Cloud 控制台的管理资源页面 并找到要使用的现有项目。您必须将 Project Browser 和 OAuth Config Editor 角色,或具备同等角色的角色 权限 项目。您无法使用 Apps 自动创建的项目 脚本。
  3. 确定您的 Cloud 项目的项目编号
  4. 打开要替换其 Cloud 项目的脚本。
  5. 点击左侧的项目设置
  6. Google Cloud Platform (GCP) 项目下,点击更改项目
  7. 输入新项目编号,然后点击设置项目

Cloud 项目和共享云端硬盘

共享云端硬盘(以前称为“团队云端硬盘”)提供以下功能: 可供云端硬盘用户群组通过 Apps 脚本展开协作的共享空间 项目和云端硬盘文档。共享云端硬盘在开发 脚本、插件和 Web 应用,但却对 可以对较旧的默认 Cloud 项目执行哪些操作。

以下限制列表介绍了 Cloud 项目如何交互 使用共享云端硬盘:

  • 如果脚本项目使用标准项目,则不存在 当脚本项目位于共享云端硬盘中时,会存在额外限制。
  • 如果您的脚本项目使用在 或 2019 年 4 月 8 日之后,脚本 项目位于共享云端硬盘中。
  • 如果脚本项目使用之前创建的默认项目 2019 年 4 月 8 日,此脚本在运行 项目位于共享云端硬盘中:
    1. 您无法使用 Apps 脚本界面或 Google Cloud 控制台。这种限制可以防止您 需要直接访问项目的操作
    2. 您无法启用高级服务。 要启用高级服务,请切换为标准服务 项目。
    3. 当您将现有 Apps 脚本项目移动到共享云端硬盘后,Google 用于限制对默认 Cloud 项目的访问。您仍然可以 访问默认项目(如果您在移动前拥有访问权限)。对于 示例, 如果您在“我的云端硬盘”文件夹中创建了脚本,然后将脚本移至 但您仍然可以访问脚本的 Cloud 项目中。共享云端硬盘中的协作者可能无法执行此操作。
    4. 脚本保留其在发布之前拥有的 Cloud 项目名称 已移至 共享云端硬盘。即使您更改了共享云端硬盘中的项目名称, 为脚本授权的用户在授权时仍会看到旧名称 对话框。

为避免旧版脚本受到上述限制, 切换到标准项目

获取 Apps Script Cloud 项目列表

如果您对 resourcemanager.projects.list 具有 组织的 Apps 脚本项目文件夹中,您可以查看所有 默认 Apps 脚本云项目。

  1. 打开 Google Cloud 控制台的管理资源页面
  2. 复制 Apps 脚本文件夹旁边的 ID。
  3. 依次点击过滤条件 > 父级 ID,然后粘贴 Apps 脚本文件夹 ID。

删除 Apps Script Cloud 项目

要删除 Apps 脚本云项目,请按照获取 Apps Script Cloud 项目列表, 选择要删除的项目,然后点击 删除

如需使用 gcloud 删除 Apps 脚本项目,请使用以下命令 命令。

gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_ID

如需详细了解如何删除 Cloud 项目,请参阅关停 (删除)项目