Google Sheet API - sheet 使用特定应用程序脚本创建

Google Sheet API - sheet creation with specific app scripts

我需要能够动态创建 Google 工作表并将它们 link 到一些应用程序脚本代码(一些 gs 和 html 文件)。对于工作表创建,使用 API 很好,但我不知道如何将应用程序脚本代码附加到它。

我的应用程序脚本代码位于我通过 CI 过程更新的中央项目中。我需要所有 google 工作表都由该中央项目的应用程序脚本代码提供,这样当我更新此代码时,所有 google 工作表都会得到更新。

谢谢。

有 3 种方法可以将 Apps 脚本项目绑定到 Google Sheet。

  • 工具菜单 - 脚本编辑器菜单项
  • 复制现有 Sheets 文件并绑定项目 - 如果原始 Sheets 文件绑定了 Apps 脚本项目,则 Sheets 文件副本还将绑定一个项目。
  • 发布插件,并让用户安装插件。

有库的,但是库不能直接绑定到Sheets的文档。库只是一个绑定到另一个 Apps 脚本项目的 Apps 脚本项目。因此,即使使用库,您仍然需要将 second Apps 脚本项目绑定到文档。 (本例中的文档是 Sheets 文件)

无法使用代码将 Apps 脚本文件绑定到 Google Sheets 文件。

如果你想让你的代码不被用户看到,那么你唯一的选择就是一个附加组件。库代码可以通过public看到。附加组件可以发布为 Public、不公开或专供 G Suite 域使用。因此,您有两种选择来防止它被 public.

看到

如果您的主要目标是让用户始终使用最新版本的代码,那么您唯一的选择就是附加组件。您可以让用户添加一个使用“head”版本的库,但如果用户使用的是“head”版本,那么您将不想对库文件本身进行任何开发和测试。

正在复制 Google Sheets 模板文件,以便创建一个绑定了项目的新 Sheets 文件有问题,因为每个绑定项目都需要单独更新,除非绑定项目中安装了库。我不确定在制作 Sheets 文件的副本时,安装了库的绑定脚本文件是否也会安装库。

Apps 脚本 API 可以修改 Apps 脚本项目清单文件,该文件可用于自动将项目更新到新的库版本。否则用户将需要手动更改版本号。但是您需要跟踪每个项目文件 ID,以便您的代码可以访问每个用户的 Apps 脚本项目文件。附加组件没有这个问题,用户总是使用附加组件的最新发布版本,您不需要知道或跟踪每个用户是谁。