【问题标题】:What components can be included in Google Sheets Add-on?Google 表格插件可以包含哪些组件?
【发布时间】:2017-11-04 23:29:27
【问题描述】:

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

  1. Google 表格中嵌入的自定义菜单和一组对话框,允许一组应用用户(“用户组 1”)操作电子表格数据

  2. 为另一组用户(“用户组 2”)提供移动设备访问涉及电子表格数据的不同功能集的网络应用程序

  3. 应用程序可用于根据需要以编程方式生成其他工作表的模板工作表(理想情况下,对用户隐藏)。

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

我对@9​​87654322@ 的阅读没有提到部署插件的能力,其中包括 (a) 嵌入在 Google 表格中的 UI,(b) 在同一用户电子表格上运行的关联网络应用程序,以及 (c ) 模板(隐藏)工作表。有没有人有这方面的经验,或者关于如何进行的建议?

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

【问题讨论】:

    标签: google-apps-script google-sheets google-apps-script-addon


    【解决方案1】:

    1号

    Add-on User interface

    插件可以创建菜单项打开对话框侧边栏。对于自定义界面,HTML 服务提供客户端 HTML、CSS 和 JS,但有一些限制:值得注意的是,我们的安全沙箱不适用于许多 JS 库。

    Custom sidebars

    边栏可以在 Google 文档、表单或表格编辑器中显示 HTML 服务用户界面。


    2号

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

    独立脚本脚本绑定到 G Suite 应用都可以变成网络应用,只要它们满足以下要求。

    我能够从单个 Standalone 脚本部署插件和网络应用程序


    3 号

    使用copyTo(Spreadsheet) 将工作表从其他电子表格复制到您正在处理的电子表格中,并使用setName() 更改名称。

    或者您可以在同一个电子表格中制​​作模板工作表并使用hideSheet()

    【讨论】:

    • 谢谢,@random-parts!关于第 3 个问题,我实际上可以将一张工作表作为附加组件的一部分吗?我知道如何复制一张纸,但问题是如何首先获得这张纸。必须以编程方式从插件生成,还是我可以将工作表(作为模板工作表)作为插件的一部分包含在内?
    • 我不确定我是否理解您的要求;有insertSheet() 可以插入另一张的新工作表。您可以通过文件 ID 从其他电子表格或同一电子表格中获取工作表
    • 我对将我的应用程序部署为附加组件很感兴趣。我希望将模板表部署为附加组件的一部分,以便我可以在运行附加组件的电子表格中复制它。您是说我需要从另一个(外部)电子表格执行复制才能实现此行为?
    • 没有。你读过文档或insertSheet() 吗? insertSheet() 将使用电子表格中已有的工作表作为新工作表的模板,copyTo() 将在电子表格之间复制工作表,然后您可以将其用作新工作表或作为模板工作表插入更多新工作表等
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多