【问题标题】:Is there a way to set owner of Google Folder / Files through script?有没有办法通过脚本设置 Google 文件夹/文件的所有者?
【发布时间】:2019-05-24 07:40:42
【问题描述】:

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

我已尝试使用命令 folder.setOwner(Email Address),它给了我错误消息“无效参数(第 x 行,文件“代码”)' Dismiss '。我也尝试使用命令 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 Drive 收到电子邮件,告诉我给定文件夹已从我那里转移给我。

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

但我不想把它转给我自己,而是转给别人。

(我在我的个人和 GSuite 帐户上尝试了个人和 GSuite 帐户以及两者之间的所有可能性,没有任何效果)

【问题讨论】:

  • 您尝试添加的电子邮件地址是否位于您的 G Suite 组织之外,否则为 are you authorized to share files with it
  • 我在里面和外面都试过了。我也用我的个人谷歌帐户和你可以做的各种方式尝试过,没有任何效果。是的,我有权将我帐户的所有者设置为另一个。

标签: google-apps-script


【解决方案1】:

我很笨,答案超级简单。我无法在我的 GSuite 帐户之外共享。如果我尝试将所有权转移给您 GSuite 帐户中的用户,那么它会完美运行!

代码 100% 正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多