如何在将文件上传到Drive中的文件夹后setOwner()?

时间:2016-09-10 10:13:03

标签: google-apps-script

所需行为

这是我第一次试用谷歌应用脚​​本,我希望用户能够将文档上传到共享文件夹(具有编辑权限),但随后更改文件的权限,以便用户无法删除文件,只能查看它。

(如果这不是特别可能,我对任何实现相同结果的方法感兴趣 - 即管理员对具有仅查看访问权限的用户上传的文档文件夹具有编辑权限)。

我尝试过什么

这个答案:

https://stackoverflow.com/a/10821130

指向名为setOwner(emailAddress)

的方法

所以我试过了:

// define the target folder to create the file in
var driveFolder = DriveApp.getFoldersByName("My Folder").next();
// create a file in the target folder and set a different owner 
var driveFile = driveFolder.createFile(formBlob).setOwner("test@gmail.com");

当前行为

文件所有权不会改变。

开发人员工具>控制台错误是:

Uncaught ScriptError: Invalid argument: sharing.user

这里有关于该特定错误的问题:

Trying to change owner on files in Google Drive

其他设置

Publish> Deploy as web app> Execute the app as> "User accessing the web app"

Publish> Deploy as web app> Who has access to the app> "Anyone"

2 个答案:

答案 0 :(得分:0)

根据 Change your sharing settings - Google Drive Help无法转移上传文件的所有权。有关替代方法,请参阅Google Forms file upload complete example

答案 1 :(得分:0)

您必须创建一个Google网站并使用上传功能,然后才能更改设置。

由于直接在谷歌中的一个人的文件是"不是你的"你无法改变它。但如果您通过网站页面收到它,您将成为所有者。