当 Google 任务标记为“已完成”时如何触发 Google 脚本

Posted

技术标签:

【中文标题】当 Google 任务标记为“已完成”时如何触发 Google 脚本【英文标题】:How to trigger Google Script when a Google Task is marked "completed" 【发布时间】:2018-10-25 21:07:27 【问题描述】:

Google Apps 脚本允许脚本由各种事件触发;见here。

当用户将任务标记为已完成(在 Google 任务中)时,我想更新电子邮件上的标签(在 Gmail 中),但似乎没有触发此操作。

但是,Zapier 能够以某种方式触发这些事件: supported triggers

看来这个触发器一定存在。

除了使用 Zapier 之外,还有其他方法吗?

不幸的是,Zapier(除了花钱之外)只允许您向 Gmail 邮件添加标签,而不是删除它们——因此不能(例如)将邮件标签从 [uncompleted-task] 更改为 [completed-任务]。

【问题讨论】:

【参考方案1】:

在撰写本文时 (2018-05-15),Google Apps 脚本不支持跟踪任务状态的触发器。

我怀疑 Zapier 正在通过 Task API 轮询任务的状态; IE。定期检查任务的状态属性,并在状态更改为完成时触发事件。

您可以使用任务 API 作为 GAS 中的高级服务来执行相同的操作(使用基于时间的触发器):

https://developers.google.com/apps-script/advanced/tasks https://developers.google.com/tasks/quickstart/apps-script

【讨论】:

谢谢,很好的答案。我在 Zapier 中为此创建了一个测试,并且可以确认他们每 5 分钟(!)轮询一次 Google Tasks API - 所以我可以在更合理的时间间隔内自己实现它。

以上是关于当 Google 任务标记为“已完成”时如何触发 Google 脚本的主要内容,如果未能解决你的问题,请参考以下文章

检查 Google 是不是已完成显示结果

在我的应用程序中删除项目时,如何将提醒标记为已完成?

当标记 onClick 触发状态更新时,黑色方块出现在第一个标记周围

在单击 Google Map API V3 时使用 infoWindow 或 InfoBox 触发事件

重力表单 - 添加自定义事件不通过Google跟踪代码管理器触发

Nuxt / Vuejs当页面完成呈现所有组件时将触发的事件