![](/img/trans.png)
[英]google script openById : You do not have permission to perform that action
[英]Google Script Error: You do not have permission to call openById
我正在尝试使用以下谷歌脚本发送一封邮件,并附上我的谷歌驱动器中可用的文件
var file=DriveApp.getFileById('1qZVK0UZ1jLbDdj10FXZqeAVEodvxEy2Bs');
MailApp.sendEmail('xyz@gmail.com','subject','body',{attachments[file.getAs(MimeType.PDF)]});
当我手动运行上面的脚本时,它运行良好,会发送电子邮件。 但是当我使用表单提交触发器运行它时,它会出现错误“您无权调用 openById”
将重现问题的步骤?
请帮忙。
我在表单本身上创建脚本时发现了这一点。
要解决该问题,您首先需要将回复发送到电子表格。
从您的表单转到工具 > 脚本编辑器...复制您的脚本并删除您在那里设置的所有触发器,您将不再需要此脚本。
现在单击表单中的查看回复按钮以打开电子表格。
现在像往常一样设置触发器。 .您会发现新触发器的第三个下拉列表具有选项。
一旦您的脚本在任何时候提交表单时获得授权,该事件就会触发并且可以访问 DriveApp。
一旦你测试并让它工作,我会回到表单并删除那里的脚本项目。 我这样做是为了让事情保持整洁并避免混乱,如果我以后来更改脚本并且忘记了哪个实际是实时的。
我不知道谷歌表单是否有限制他们访问云端硬盘或其他东西的限制。
我遇到了同样的问题,但觉得必须使用 FormResponses Sheet 来获取提交事件有点愚蠢(我的意思是 Form Apps Scripts 上有一个触发器是有原因的,对吧?)。
我所要做的就是删除并重新添加From form --> On form submit的触发器。 当我添加它时,向我挑战了查看和使用我的谷歌驱动器的 OAuth 权限。
紧接着,我能够再次在 Forms Apps Script Submission 触发器上运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.