【问题标题】:Is it possible to call container bound script functions from library in google apps script?是否可以从谷歌应用程序脚本中的库调用容器绑定脚本函数?
【发布时间】:2018-11-24 13:43:53
【问题描述】:

我想要实现的是创建一个基于时间的触发器,该触发器运行调用函数,当工作表中给出的日期等于每天的今天日期时,该函数负责发送邮件。

所以大部分内容都在库中,例如创建添加菜单和选择菜单项后运行的逻辑。但我认为您不能在库上设置触发器,您必须在客户端(容器绑定)端具有触发器功能。

问题是,我如何从库端调用创建触发器编程的容器绑定函数。

伪代码:

图书馆:

function A(){
  //Call function B() of container bound
}

容器绑定脚本:

function B(){
  //Create programmatic trigger 
}

如果您有更好的建议欢迎您。

【问题讨论】:

  • 文档绑定脚本中的代码将如何创建?由您以外的用户?由你?谁是文件的所有者?你。其他人?它会是您没有共享权限编辑的文档吗?
  • @SandyGood 我正在创建一个工作表插件,因此容器绑定中有一些启动代码,例如 onInstall(e) 和来自 onOpen(e) 的库调用,用于创建附加菜单。所以最初我为自己开发插件,然后我会将它发布到市场。
  • 为什么要将库放入插件中? Google 建议不要这样做。
  • @SandyGood 实际上是的,这是我无法理解的地方,这是我发布的第一个附加内容。那么我是否应该将所有代码和逻辑放在容器绑定中,前提是我将进行私有添加?
  • 我更喜欢将独立的 Apps 脚本文件用于附加组件。测试插件可以通过在代码编辑器中点击“运行”,然后选择“测试为插件...”来完成插件是公开的、不公开的还是私有的,不影响Apps Script项目是否文件绑定到工作表,或“独立”。一旦你发布了一个插件,你就永远不想删除那个 Apps 脚本文件。人们有时会忘记什么脚本绑定到什么Sheet文件,然后删除Sheet文件,这也删除了项目。

标签: javascript google-apps-script triggers


【解决方案1】:

我认为库是客户端/容器脚本可以使用的代码?因此,例如,该库将提供实用函数来完成某些工作。你似乎有相反的方式。

既然容器脚本应该使用库,那么是否可以在某些容器函数上设置基于时间的触发器,以便它调用相关的库函数?通过这种方式,您将能够实现您想要做的事情。

【讨论】:

  • 这正是我的想法,但我不想将触发器函数放在容器绑定脚本中,因为我不希望与客户共享逻辑,因为我将其作为私有添加发布开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2021-11-20
相关资源
最近更新 更多