2014-01-20 207 views
0

首先,如果已经得到解答,我想表示歉意。我当然希望不会。Google Apps脚本触发电子邮件通知

无论如何,这里是我在做什么的想法。

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

下面是我用做脚本:

function emailnotifacs1() { 
var recipient = "[email protected]"; 
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

任何帮助将不胜感激,并返回免费的互联网饼干。

谢谢,
亚历克斯·李

回答

0

您可以尝试触发emailnotifacs1()与“关于提交表单”,而不是 ,也许分享更多的代码,如果不解决这个问题

0

据​​,要解决它,你必须预先授权将要运行的功能。要做到这一点,你可以进入你的脚本编辑器并运行该功能。但是,如果你的函数是为了在触发器上运行,你将无法直接从脚本编辑器运行你的函数(例如,我的函数只能在onSubmit上运行,并且它会对表单已经提交,所以如果我从脚本编辑器运行它,我会得到错误,因为表单不存在)。

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

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

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

相关问题