DriveApp.createFolder为错误的用户创建文件夹

时间:2016-11-09 00:40:27

标签: google-apps-script

以下代码位于与Google表单关联的Google电子表格的onFormSubmit触发器中:

      var folders = DriveApp.getFoldersByName("Test 2016 - 2017");
      if (!folders.hasNext()) {
        var folder = DriveApp.createFolder("Test 2016 - 2017");
      } else {
        var folder = folders.next();
      }

      var
 docID = DriveApp.getFileById('id').makeCopy('Test Document ', folder).getId();
}

当有人使用表单的链接并提交表单时,此脚本将为表单/电子表格的所有者创建一个文件夹 - 我。

不应该为当前用户设置DriveApp吗?我打电话给错了吗?这是Google的错误吗?有人可以帮忙吗?

谢谢你的时间!

2 个答案:

答案 0 :(得分:4)

这是设计的。 onFormSubmit触发器以所有者权限运行。想象一下,只需填写表单就可以访问您的脚本所具有的任何范围,而无需您进行授权。

改为构建一个webapp,并将其发布为以用户身份运行。

答案 1 :(得分:-1)

您可以在DriveApp类中使用Access和Permission。

docID.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);

参考文献: