google-apps-script - 谷歌脚本错误 : You do not have permission to call openById

标签 google-apps-script google-forms gs-installable-triggers

我正在尝试使用以下谷歌脚本发送一封邮件,其中附有我的谷歌驱动器中可用的文件

var file=DriveApp.getFileById('1qZVK0UZ1jLbDdj10FXZqeAVEodvxEy2Bs');
MailApp.sendEmail('xyz@gmail.com','subject','body',{attachments[file.getAs(MimeType.PDF)]});

当我手动运行上面的脚本时,它运行良好,电子邮件被发送。但是当我使用表单提交触发器运行它时,它会给出错误“您无权调用 openById”

将重现问题的步骤?

  1. 创建一个谷歌表单。
  2. 在脚本编辑器上编写以上脚本,并在提交表单时添加触发器。
  3. 填写并提交表格,然后您将收到来自“apps-scripts-notifications@google.com”的邮件中的上述错误

请帮忙。

最佳答案

我遇到了同样的问题,但觉得必须使用 FormResponses 表来获取提交事件有点愚蠢(我的意思是表单应用程序脚本上有一个触发器是有原因的,对吧?)。

我所要做的就是删除并重新添加 From form 的触发器 --> On form submit。当我添加它时,要求我获得 OAuth 权限以查看和使用我的谷歌驱动器。

紧接着,我能够再次运行 Forms Apps Script Submission 触发器。

关于google-apps-script - 谷歌脚本错误 : You do not have permission to call openById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22664183/

相关文章:

javascript - Google 脚本方法 getLastRow 获取 null

google-apps-script - 如何获取当前临时 "anonymous"活跃用户 key ?

javascript - 如何将 Stripe 支付与 Google Apps 脚本集成

r - 从 R 填写谷歌表格

google-apps-script - 不为匿名用户显示 Google 电子表格自定义菜单

google-apps-script - 如何将 Web 应用程序中 <img> 标记中使用的图像限制为 "anyone within corporation"?

google-forms - Google 表单 - 此表单包含需要登录的功能

html - 使用 CSS 将 Google 表单居中

google-apps-script - GAS 不允许在 Team Drive 中以实用方式创建可安装触发器