问题标签 [gs-installable-triggers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
162 浏览

google-apps-script - 时间驱动触发器:是否可以为部署脚本应用程序/gmail 插件每分钟设置一个触发器?

我正在开发一个谷歌脚本应用程序以部署一个 gmail 插件。

我尝试每分钟设置一个触发器,它使用以下代码执行一个函数:

问题是,当我在谷歌开发者中心运行该功能时,它可以工作,创建时间触发器。

但是,当我将脚本部署为清单文件中的 gmail 插件并且我想在单击按钮时创建触发器时,会出现一个错误,告诉我两次事件之间的触发器范围必须至少每小时一次。

最奇怪的是,当我每小时设置一次触发器时,我可以在 g Suite 开发人员中心的触发器选项中将其更改为每分钟一次。为什么我能那样做?

我想知道是否可以在每分钟触发相同功能的 gmail 插件中创建触发器。或者,这绝对不可能吗?

0 投票
1 回答
556 浏览

javascript - 除了所有者之外,onOpen 不会对其他用户运行。如何解决这个问题?谷歌脚本气体

刷新共享电子表格后,onOpen 不会对同样具有访问权限的其他用户运行。

但是所有者能够运行代码和脚本。

代码.gs

已将访问电子表格和脚本共享给其他用户,但他们仍然看不到它正在工作。感谢您的帮助...谢谢!

0 投票
1 回答
79 浏览

javascript - 触发 onFormSubmit 时未运行完整脚本,但将使用 onEdit() 手动运行

我想要的结果是,当从谷歌表单将新的数据行添加到工作表“FormResponses1”时,上面的脚本就会运行。我已经创建了谷歌表单,当用户提交表单时,新数据会添加到工作表“FormResponses1”中。

这是屏幕的 YouTube 视频,显示了我遇到的问题

如果我手动将新值添加到单元格,例如,如果我在工作表“FormResponses1”的单元格“B2”中写入“dll 463”,则上面的代码运行良好并且可以满足我的需要。

我已经为上面显示的 onEdit 函数设置了一个触发器“来自电子表格 - 表单提交”,使用 <> 脚本编辑器视图的工具栏中的 Edit - Current project's triggers。

触发器似乎确实触发了,如果我在从表单提交新响应后查看日志,我可以看到日志显示通过上面代码中的 Logger.log 行编辑的行和列。

我在上面的代码中添加了更多 Logger.log 行,以查看脚本在由“来自电子表格 - 提交表单”触发器触发时运行多远,但在行和列编辑日志之后没有显示其他日志。

这对我来说更奇怪的是,我昨天可以让触发器工作并运行代码。尽管如此,它只是在当前脚本末尾的 setFormula 行中编写,从那时起,我添加了大写列值,并将公式替换到脚本中。

我尝试过: - 删除并添加新触发器。- 创建一个新版本 - 删除表单响应 - 将函数从 onEdit() 更改为 onFormSubmit() - 取消电子表格的链接并添加一个新的电子表格(具有相同的工作表名称和数据),并将脚本复制到新的电子表格脚本编辑器和删除旧的电子表格。

0 投票
1 回答
106 浏览

google-apps-script - 未触发可安装触发器

我的电子表格中有可安装的触发器,但是当我编辑工作表时,触发器没有被触发

可安装的触发器屏幕截图

之前是我的触发器很好,我已经删除并添加了新触发器但仍然没有触发。

项目详情截图


---已编辑---

这是我对每个触发器的配置

newRow 函数触发配置

triggerpls 函数触发配置


这是我要运行的代码

0 投票
3 回答
2205 浏览

javascript - 每天 8:00、12:30、17:00 运行 Gmail Google Apps 脚本

我需要每天运行 3 次 Google Apps 脚本:分别在 8:00、12:30、17:00。

这个怎么做?

我已经看过了Triggers,更具体地说Time driven

  • 小时计时器,但是Every hour, Every 2 hours,Every 4 hours在这里不适用

  • 日计时器,但8am to 9am不是很精确,我更喜欢更精确的东西,而且 12:30 也是不可能的

  • 具体时间,但YYYY-MM-DD HH:MM不适合每天运行

From calendar触发器似乎也不适应。

0 投票
0 回答
635 浏览

google-apps-script - Script.newTrigger() 返回错误“在对象上创建方法或属性时出现意外错误”

尝试创建基于时间的触发器时,出现此错误:

“在对象 ScriptApp.ClockTriggerBuilder 上创建方法或属性时出现意外错误。”

这是代码:

0 投票
1 回答
106 浏览

google-apps-script - 如何在执行后删除谷歌脚本ClockTrigger

我有一些代码需要基于每小时触发器执行一个函数,然后在第一个触发器后一小时执行另一个函数。像这样:

这工作正常。我只是注意到,触发器是在谷歌应用程序脚本控制台的“我的触发器”中建立的。执行后有什么方法可以删除触发器吗?