Google 表格插件中可以包含哪些组件?

What components can be included in Google Sheets Add-on?

我正在为 Google 表格构建一个 Google Apps 脚本应用程序,我想将其部署为 Google GSuite Marketplace 中的附加组件。我的应用程序包含三个组件:

  1. Google 表格中的嵌入式自定义菜单和一组对话框,允许一组应用程序用户 ("User Group 1") 操纵传播sheet 数据

  2. 一个网络应用程序,它为另一组用户 ("User Group 2") 提供移动设备访问不同功能集的权限,这些功能涉及传播sheet 数据

  3. 模板 sheets(理想情况下,对用户隐藏),应用程序可以使用它根据需要以编程方式生成额外的 sheets。

我想将所有组件部署为单个附加组件的一部分。我希望组件 1 和组件 2 绑定到相同的 spreadsheet。事实上,我希望 "User Group 1" 中的某个人能够单击按钮来获取 Web 应用程序的 URL。这需要能够通过 Apps 脚本代码在 "Publish" 菜单上执行功能。

我对 the documentation on add-ons 的阅读没有提到部署插件的能力,该插件包括 (a) UI 嵌入 Google 表格,(b) 关联的网络对同一用户 spreadsheet 和 (c) 模板(隐藏)sheet 运行的应用程序。有没有人对此有任何经验,或有关如何进行的建议?

目前,我看到的唯一解决方案是部署两个单独的应用程序(组件 1 和组件 2),但是 Web 应用程序不会绑定到特定的传播sheet,因此需要使用一个不同的 API。至于访问模板 sheets,我 认为 可以通过 URL 访问外部 sheet,但我认为这是不可能的包含模板 sheets.

的附加组件

1号

Add-on User interface

Add-ons can create menu items and open dialogs or sidebars. For custom interfaces, the HTML service offers client-side HTML, CSS, and JS with a few limitations: notably, our security sandbox doesn't work with many JS libraries.

Custom sidebars

A sidebar can display an HTML service user interface inside a Google Docs, Forms, or Sheets editor.


2号

我不确定我是否理解您的部署问题 - however

Both standalone scripts and scripts bound to G Suite applications can be turned into web apps, so long as they meet the requirements below.

我能够通过单个 Standalone 脚本部署附加组件和 Web 应用程序


3号

使用copyTo(Spreadsheet) to copy a sheet from a different spreadsheet to the one you are working on and change the name with setName()

或者您可以在同一个传播sheet中制作一个模板sheet并使用hideSheet()