与其他开发者协作

Apps 脚本提供了一些功能,可帮助您和其他开发者构建 以及同时维护脚本、插件和 Web 应用。

协作基础知识

要进行项目协作,你和协作者都必须 对 Apps 脚本项目文件(及其容器,如果文件是 绑定脚本)。这样一来,您团队中的所有成员 查看并更改 Apps 脚本代码。编辑者还可以创建新代码 版本、发布插件以及将脚本部署为网络应用或可执行文件, Apps Script API

您可以预先规划好修改方案、 审核、版本控制和(如果适用)您的 插件或 Web 应用。 独立项目通常最简单 因为它们直接显示在 Google 云端硬盘中 插件和 Web 应用开发的推荐项目类型。

当脚本项目所有者离开 团队,而不将项目所有权转让给该团队中的其他人。 这可能会导致您无法维护或更新项目。将您的 共享云端硬盘中的脚本项目可防止 因为共享云端硬盘中的文件没有特定所有者。

使用 clasp 命令行工具进行协作

clasp 可让您在 script.google.com 和本地文件之间同步项目 系统。如果您符合以下情况,则可以简化和自动化代码开发 并且您的协作者正在使用源代码控制管理软件,例如 git

有关详情,请参阅命令行界面 使用 clasp 指南

通过共享云端硬盘开展协作

共享云端硬盘(以前称为 “团队云端硬盘”)在 Google 云端硬盘中提供共享空间, 从而更有效地进行协作存放在共享云端硬盘中的文件归其所有 而不是按个体来提交这意味着,当 协作者离开了他们不具有文件所有权和控制权的群组 。

您还可以使用共享云端硬盘跨网域移动文件 不同网域中的协作者也可以移动文件 将该网域复制到共享云端硬盘中这对于 Apps 脚本来说非常有价值 因为这为团队提供了一种开发插件、Web 应用 或其他代码。

使用共享云端硬盘协作处理 Apps 脚本项目时,保留 请注意以下几点:

  1. 拥有共享云端硬盘编辑者权限的协作者可以创建或移动 将新文件复制到共享云端硬盘。作为脚本编辑者,他们可以查看和编辑 脚本项目、运行脚本代码、创建新的脚本版本、 发布插件。
  2. 如要将 Apps Script API 的脚本部署为 Web 应用或可执行文件,请按以下步骤操作: 创建部署的账号必须与 该脚本所在的共享云端硬盘。
  3. 通过共享云端硬盘,您可以将共享云端硬盘中的特定文件共享给 群组外的其他人,并更新他们的修改和查看权限 像对待任何其他云端硬盘文件一样不过,如果用户 部分 团队,则您无法减少他们对特定组织部门的访问权限 文件。例如,如果用户拥有某个共享云端硬盘的编辑权限,您便无法 更改为共享云端硬盘中特定文件的“只能查看”权限。
  4. 拥有共享云端硬盘完整权限的协作者也可以删除文件 和 Apps 脚本项目 位置。
  5. 所有容器绑定脚本 使用为容器文件定义的相同查看者访问权限列表和编辑者访问权限列表。 例如,如果您同时拥有某个 Google 表格的编辑权限, 对与其关联的任何 Apps 脚本项目代码的修改权限。将此类 将容器文件移入共享云端硬盘,授予该共享云端硬盘的协作者 对脚本代码的访问权限与其对容器本身的访问权限相同。
  6. 当脚本项目位于共享云端硬盘中时,对脚本项目的访问权限 Cloud Platform (GCP) 项目 可能会受到限制请参阅 GCP 项目和共享云端硬盘 部分。
  7. Web 应用 如果 某个域的所有权变更为 其他网域中的共享云端硬盘或账号。只要 将脚本移回其原始域。
  8. 同样, 部署为 Apps Script API 可执行文件 如果通过共享云端硬盘将存储分区从 将一个网域转移到另一个网域要解决此问题,请将脚本移回 原始网域。

使用共享文件夹开展协作

如果您无法与共享云端硬盘进行协作,可以使用共享文件夹 。当您创建 Apps 脚本项目或将 Apps 脚本项目移动到 他人可以访问的 Google 云端硬盘文件夹,他们将继承相同的访问权限 添加到文件夹所属的 Apps 脚本项目。 例如:

  • 如果其他人拥有文件夹的编辑权限,则可以修改或删除 Apps 脚本项目并运行该脚本。
  • 如果某人只有文件夹的查看权限,则他们可以查看 Apps 脚本项目并运行该脚本。

通过项目共享开展协作

您可以直接与所有协作者共享项目,从而协同处理项目 协作者。您可以直接共享常规 Google 云端硬盘文件夹或共享云端硬盘中。如果使用这种方法, 建议您随着时间的推移仔细规划该脚本的所有者和维护者。

独立项目会以文件形式显示在 Google 云端硬盘中,您可以像共享任何其他文件一样共享它们。有关 请参阅 共享文件和文件夹

容器绑定项目不会显示在您的 Google 云端硬盘。如需共享容器绑定项目,请共享父级项目 容器文件。例如,如果您有一个脚本绑定到 Google 表格 电子表格,您 可以通过将某人设为脚本的编辑者, 电子表格。容器绑定项目会继承查看者和编辑者访问权限 容器文件的各项设置

所有容器绑定脚本均使用相同的所有者、查看者和 为容器文件定义的编辑者访问权限列表的方法。容器所有者接受 新脚本项目的所有权(无论该项目的创建者是谁)。

协作和项目资源

资源是指与您的项目关联但存在的实体 与其代码无关。本部分介绍如何在项目中展开协作 影响其资源,特别是其 Cloud Platform 项目、触发器和 库和用户属性

协作和 Google Cloud 项目

每个 Apps 脚本项目都有一个关联的 Google Cloud 项目。 Google Cloud 项目有自己的一组所有者、编辑者和其他角色, 该集合可能不同于可以访问脚本的那组用户 项目。

如果您的脚本项目是要作为 插件,则必须使用 标准 Google Cloud 项目。 当您协作处理使用标准 Google Cloud 项目的应用时, 建议 您可以配置 Google Cloud 所有者和角色 以确保您的所有协作者都拥有适当的访问权限级别。这有助于 防止出现由于以下原因而无法访问项目的 Cloud 设置的情况 其所有者已不再属于您的组织。这一点特别重要

协作和触发器

协作处理项目时 您创建的可安装触发器 不会与有权访问您项目的人员共享。如果您需要 为所有协作者配置一致的触发器设置,您可以使用 用于创建触发器的脚本服务 以编程方式创建如需了解详情,请参阅 以编程方式管理触发器

协作和库

项目中包含的库可供项目协作者使用。 但是,如果它们对包含的库至少没有读取级访问权限 它们无法使用这些库 - 在这种情况下,脚本会抛出错误。 如需详细了解库,请参阅 管理库

协作和用户属性

用户属性 对创建它们的用户而言是唯一的这意味着 项目协作者无法查看或访问您的用户属性,而您 而不能查看或访问自己的媒体资源。使用 脚本属性 如果您想与协作者共享项目特有的属性,则可以。对于 请参阅 属性指南