首先,如果已经回答,我想道歉。我当然希望不会。
无论如何,这就是我正在做的事情。
使用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
答案 0 :(得分:0)
您可能会尝试使用“On form submit”触发emailnotifacs1() 并且如果不能解决问题,可能会共享更多代码
答案 1 :(得分:0)
根据this bug report,要修复它,您必须预先授权将要运行的功能。为此,您可以进入脚本编辑器并运行该功能。
但是,如果您的函数是在触发器上运行的,那么您将无法直接从脚本编辑器运行您的函数(例如,我的函数只应该在子节点上运行并且它可以执行提交的表单,如果我从脚本编辑器运行它,我会收到错误,因为表单不存在)。
所以我在try-catch循环中将代码包装在触发函数中,从脚本编辑器菜单中运行它,瞧,我的代码开始工作。
另外,在您的情况下,您可能需要检查触发器是否已正确设置,以便在表单提交时调用emailnotifacs1
。 emailnotifacs1
应该接受event
参数 - 有关详细信息,请参阅here。
注意:每次对功能进行更改时,您都需要通过从脚本编辑器运行来重新授权它!