Сценарий Google Apps: file.setOwner () не передает права собственности на Google Диск - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь передать право собственности на все мои файлы .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');
  }
}

Когда я запускаю код, ни один из файлов не меняет владельца.

1 Ответ

1 голос
/ 20 сентября 2019

Как насчет этой модификации?

Точки модификации:

В вашем скрипте он пытается сравнить объекты 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
  }
}
  • В этой модификации сравниваются электронные письма.

Ссылки:

Если это не помогло решить вашу проблему, прошу прощения.

...