有没有办法通过脚本设置Google文件夹/文件的所有者?

时间:2019-05-24 07:40:43

标签: google-apps-script

我是文件/文件夹的所有者,并且想通过脚本将文件和文件夹的所有者设置为其他人。它是较大代码的一部分,其中我浏览了给定文件夹的所有子文件夹和文件,并希望将所有权转让给其他人。问题是命令'setOwner()'不起作用。

我已经尝试使用命令folder.setOwner(Email Address),它给了我错误消息“无效的参数(x行,文件“代码”)”关闭 '。我也尝试使用命令folder.setOwner(User),再次收到相同的错误消息。

 var rootfolder = DriveApp.getFolderById(folderId);
 rootfolder.setOwner("email@domain.com");  //line x

 var newOwner = DriveApp.getFileById(FileId).getOwner();
 var rootfolder = DriveApp.getFolderById(folderId);
 rootfolder.setOwner(newOwner); //line x

注意:“ FileId”来自公共文件

我也尝试了此代码,该代码有效。我从Google云端硬盘收到电子邮件,其中已将给定的文件夹从我转移到了我。

 var rootfolder = DriveApp.getFolderById(folderId);
 rootfolder.setOwner(rootfolder.getOwner());

但是我不想将其转移给我自己,而是转移给其他人。

(我在我的个人帐户和GSuite帐户上尝试了该帐户,然后在个人帐户和GSuite帐户上进行了尝试,并且之间的所有可能性均无效,

1 个答案:

答案 0 :(得分:1)

我很傻,答案很简单。我无法在我的GSuite帐户之外共享。如果我尝试将所有权转让给您的GSuite帐户内的用户,那么它可以正常工作!

该代码是100%正确的。