【问题标题】:Google Apps Script Library and Script DistributionGoogle Apps 脚本库和脚本分发
【发布时间】:2018-11-24 14:32:23
【问题描述】:

我想知道是否有可能将我的自定义脚本分发到我工作区中的所有工作表。我在库或附加组件方面遇到了不同的方法,但它们都缺少一些我想要完成的点。

  1. 我希望它只对我的 Google 帐户保密
  2. 我需要它为我的表格帐户上的每个文件运行 onOpen(e) 触发器 (所以我可以为我的所有文件添加自定义菜单)
  3. 我还需要为每个文件设置一个时间触发器,以便我的 main() 函数每晚运行(现在我总是在重新运行我的 main 函数时创建一个新触发器)

到目前为止,我可以使用库选项并为我的所有文件创建一个新脚本,并从该库中调用我的主函数。此解决方法不包括 onOpen 触发器事件。当我使用 run->test as addon 的能力并手动添加所有新文件(每个新月出现)时,我也缺乏触发功能的可能性。

如果您有解决方案的想法,我会很高兴。

BR 新泽西

【问题讨论】:

    标签: javascript google-apps-script triggers libraries add-on


    【解决方案1】:
    • 插件可以私下发布。 Private Add-ons
    • 默认情况下,库是私有的 - 您帐户之外的人可以将您的脚本用作库的唯一方法是设置文件共享以允许他们使用它。 Gaining access to a library
    • 库不能运行简单的触发器,但插件可以。库不能触发保留的函数名称 onOpen()。 See Table - Resource Scoping
    • 插件可以运行 onOpen() 函数
    • 插件可以创建插件菜单。
    • 插件可以为每个安装它的文档创建一个基于时间的触发器。引用:“每个插件只能有一个触发器,每个用户,每个文档”Add-on Restrictions

    如果您想要执行诸如覆盖 Apps 脚本文件之类的操作,可以使用 Apps Script API 来完成。即使是绑定到文档(Sheets、Forms、Docs)的脚本项目也可以被 Apps Script API 覆盖。

    StackOverflow answer - Update an Apps Script file using Apps Script

    您还可以使用 Apps 脚本 API 更新 Apps 脚本文件的清单文件,从而以编程方式将库和库版本添加到现有的 Apps 脚本文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      相关资源
      最近更新 更多