Google Apps脚本会触发电子邮件通知

时间:2014-01-20 18:03:41

标签: google-apps-script google-drive-api google-form

首先,如果已经回答,我想道歉。我当然希望不会。

无论如何,这就是我正在做的事情。

使用Google云端硬盘,用户应该可以填写表单并提交。 在提交表单时,会触发脚本。 该脚本应该向我们域内的帐户发送电子邮件,以通知他们已提交新表单。

以下是我用来执行此操作的脚本:

function emailnotifacs1() {
var recipient = "user@domain.net";
var subject = "New Form Is In!";
var body = "Check the spreadsheet." +
" Link: spreadsheetLink.com";
MailApp.sendEmail(recipient, subject, body);

}

出于某种原因,每次我尝试调试脚本时,它都会要求我重新授权脚本,每次

每次脚本自动运行(在提交时),它根本不运行并给我这封电子邮件: You do not have permission to call openById 它在formEdit上触发。

任何帮助都将非常感谢,并返回免费的互联网cookie。

谢谢,
Alex Lee

2 个答案:

答案 0 :(得分:0)

您可能会尝试使用“On form submit”触发emailnotifacs1() 并且如果不能解决问题,可能会共享更多代码

答案 1 :(得分:0)

根据this bug report,要修复它,您必须预先授权将要运行的功能。为此,您可以进入脚本编辑器并运行该功能。

但是,如果您的函数是在触发器上运行的,那么您将无法直接从脚本编辑器运行您的函数(例如,我的函数只应该在子节点上运行并且它可以执行提交的表单,如果我从脚本编辑器运行它,我会收到错误,因为表单不存在)。

所以我在try-catch循环中将代码包装在触发函数中,从脚本编辑器菜单中运行它,瞧,我的代码开始工作。

另外,在您的情况下,您可能需要检查触发器是否已正确设置,以便在表单提交时调用emailnotifacs1emailnotifacs1应该接受event参数 - 有关详细信息,请参阅here

注意:每次对功能进行更改时,您都需要通过从脚本编辑器运行来重新授权它!