首页 > 解决方案 > 由于浏览器消息未关闭,防止谷歌应用脚​​本上的“超过最大执行时间”失败电子邮件

问题描述

背景:

我有多个电子表格,在某些情况下,会向用户弹出一个浏览器简单消息框。

问题:

用户忘记单击“确定”的情况并不少见,这导致我收到一封“超过最大执行时间”的失败电子邮件。

问题:

标签: javascriptgoogle-apps-scriptgoogle-sheetsalert

解决方案


回答:

无法关闭通知电子邮件,但您可以设置 Gmail 过滤器以强制这些电子邮件跳过收件箱。

也无法以编程方式模拟被单击的 UI 警报,也无法在 10 秒后自动关闭该框。您可以改为使用 toast 消息来通知用户,而不是使用消息框作为解决方法

处理失败的电子邮件:

  • 在失败通知电子邮件中,第一段将显示如下内容:

您的脚本 Script Name 最近未能成功完成。故障摘要如下所示。要为此脚本配置触发器,或更改接收未来失败通知的设置,请单击此处

点击“点击这里”链接可以触发,但如您所见,您只能更改这些电子邮件的频率,而不能将其关闭:

在此处输入图像描述

要从收件箱中自动删除这些邮件,请前往https://mail.google.com并在搜索栏中输入以下内容:

from:apps-scripts-notifications@google.com "Script name" 

替换Script name为您收到通知的脚本的名称。确保将它们放在引号内。

接下来,单击搜索栏右侧的向下箭头 (▼),然后单击Create filter

在这里,选择您的行为:我建议您选择Skip the Inbox (Archive it)是否要保留电子邮件而不会使收件箱混乱,或者根本Delete it不希望看到它们。

Also apply filter to matching conversations.如果您的收件箱中已经有很多,您也可以选中旁边的框。

单击Create filter即可完成 - 您将不再收到这些电子邮件。

敬酒

正如我之前提到的,不可能超时或自动关闭消息框。

但是,如果您只想通知用户一些信息,并且不需要让他们单击确定,则可以改为在 Sheets 中显示一条 toast 消息

var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.toast('Thanks for doing the thing!', 'Title', 10);

这将如下所示:

在此处输入图像描述

参考:


推荐阅读