18

有人能准确描述 Gmail 插件脚本的触发条件吗?显然,每次用户在 Gmail 对话之间导航时都不会调用触发器。

我能找到的唯一文档是https://developers.google.com/gmail/add-ons/how-tos/building#note1,其中指出

唯一可用的上下文触发类型是无条件的,无论内容如何,​​它都会触发所有电子邮件。

我将其解释为每次用户导航到不同的 gmail 对话时都会调用触发器,但是,情况并非如此:

我第一次导航到某个 Gmail 对话时,加载项触发器会触发。当我使用“Newer”或“Older”尖括号按钮导航到另一个对话时,再次为新对话调用触发器。但是,当我使用尖括号按钮导航回第一页时,附加触发器不会触发。(很容易通过在创建每个 UI 卡时显示时间戳来显示这一点。)似乎有某种内部缓存正在进行 - 有没有办法禁用它,或者每次用户运行我的附加脚本在 Gmail 对话之间导航?

4

2 回答 2

2

您可以使用 ActionResponseBuilder.setStateChanged() 来清除缓存

链接:https ://developers.google.com/gmail/add-ons/how-tos/interactions

于 2018-11-07T08:14:22.617 回答
2

目前,Google Apps 脚本没有 Gmail 事件触发器,因此触发器不会每次都调用,用户导航到不同的 Gmail 对话。每当打开新消息时,它将调用触发器,上下文触发器。您还可以尝试在每个时间间隔后调用的时间驱动触发器。要使用时间驱动的触发器,请在https://script.google.com/上打开您的项目。在 Apps 脚本编辑器中,导航至Edit -> All your triggers。如果没有触发器,则设置一个并保存。请参阅此示例在 Gmail-add on 中创建时间驱动触发器

有关更多信息,请参阅此链接如何检测我何时使用 google-apps-script 脚本在 gmail 中查看电子邮件?我认为这可能会有所帮助。

于 2018-05-29T11:39:44.167 回答