有人可以准确描述Gmail附加脚本的触发条件吗?显然,每次用户在Gmail对话之间导航时都不会调用触发器。
我能找到的唯一文件是https://developers.google.com/gmail/add-ons/how-tos/building#note1,其中说明了
唯一可用的上下文触发类型是无条件的,无论内容如何,都会触发所有电子邮件。
我将此解释为每次用户导航到不同的gmail对话时都会调用触发器,但事实并非如此:
我第一次导航到某个Gmail对话时,会触发加载项触发器。当我使用“较新”或“较旧”角括号按钮导航到另一个对话时,再次为新对话调用触发器。但是当我使用尖括号按钮将后退导航到第一页时,附加触发器会强制不。 (很容易通过在创建每个UI卡时显示时间戳来显示这一点。)似乎有某种内部缓存正在进行 - 有没有办法禁用它,或以其他方式运行我的附加脚本时间用户在Gmail对话之间导航?
答案 0 :(得分:2)
目前,Google Apps脚本没有针对Gmail事件的触发器,因此每次都不会调用触发器,用户会导航到其他Gmail对话。每当打开一条新消息时,它都会调用触发器,上下文触发器。您还可以尝试在每个时间间隔后调用的时间驱动触发器。要使用时间驱动的触发器,请在https://script.google.com/上打开您的项目。在Apps脚本编辑器中,导航至编辑 - >所有触发器。如果没有触发器,则设置一个并保存。请参阅此示例Create Time-driven trigger in Gmail-add on
有关详细信息,请参阅此链接How do I detect when I view an email in gmail with google-apps-script script? I think this might be helpful.
答案 1 :(得分:2)
您可以使用ActionResponseBuilder.setStateChanged()清除缓存
链接:https://developers.google.com/gmail/add-ons/how-tos/interactions