0

我正在尝试将所有 .pdf 文件的所有权转移到另一个拥有更多空间的帐户。我正在使用驱动器中的单个文件夹测试代码。

function transfer() {
  var user = Session.getActiveUser();
  var folder = DriveApp.getFolderById('123folder-id456789-VxdZjULVQkPAaJ');
  var files = folder.getFilesByType(MimeType.PDF);
  while (files.hasNext()) {
    var file = files.next();
    if (file.getOwner() == user) file.setOwner('example@gmail.com');
  }
}

当我运行代码时,没有任何文件更改所有权。

4

2 回答 2

1

这个改装怎么样?

修改点:

在您的脚本中,它会尝试比较 和 的Session.getActiveUser()对象file.getOwner()。我认为这是您的问题的原因。

那么这个改装怎么样呢?请认为这只是几个答案之一。

修改后的脚本:

function transfer() {
  var user = Session.getActiveUser().getEmail();  // Modified
  var folder = DriveApp.getFolderById('123folder-id456789-VxdZjULVQkPAaJ');
  var files = folder.getFilesByType(MimeType.PDF);
  while (files.hasNext()) {
    var file = files.next();
    if (file.getOwner().getEmail() == user) file.setOwner('example@gmail.com');  // Modified
  }
}
  • 在此修改中,将比较电子邮件。

参考:

如果这没有解决您的问题,我深表歉意。

于 2019-09-19T21:55:46.117 回答
0

目前驱动无法转移非内置文件的所有权,如 pdf、zip 等。因此您必须下载它们并从其他帐户重新上传。我写了一个colab来做到这一点,而不会消耗我的带宽。它可以递归传输具有内置文件类型和其他文件类型的整个文件夹。

于 2020-05-12T22:42:36.883 回答