Переместить папки и файлы на общий диск (Google Scripts) - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь переместить несколько папок и их содержимое с My Drive на Shared Drive (указать c местоположение). Я могу выполнить подобный код без каких-либо проблем, если папки перемещены из MyDrive в другое место MyDrive. Тем не менее, это не то же самое для общего диска. Я понимаю, что не могу выполнить addFolder () или addFile (), поэтому после прочтения некоторых форумов мне кажется, что вместо этого я должен использовать makeCopy (). Я никогда не выполнял сценарии в Shared Drive, но слышал, что поведение отличается от My Drive.

Я использую код ниже. Мои проблемы заключаются в следующем: 1. makeCopy (), похоже, не работает. 2. Как я могу получить дату создания от Shared Drive

Вот мой тестовый файл: https://docs.google.com/spreadsheets/d/10xznoTAH2yS-Xnf-b3cCc0j8vxa9jS10WP1HjQapzNw/edit?usp=sharing

Ваш вклад и помощь очень оценили!

function moveFolders() {
      var ss = SpreadsheetApp.openById('sheetIDhere');
      var sheet = ss.getSheetByName('Sheet11');
      var range = sheet.getRange(2,1, sheet.getLastRow(), sheet.getLastColumn());
      var values = range.getValues();

      for (var i = 0; i <= values.length-1; i++) {
        var folderid = values[i][0];
        var sdDriveId = values[i][1];
        var moveDate = values[i][2];
        var comments = values[i][3];

        if (moveDate != "" ) {continue;}  // if date exists, skip.
        if (folderid == "" || sdDriveId == "") {   // if source and target ids are missing, post message
         sheet.getRange(i+2,4).setValue('Missing Value');
        }
        else {
          var source_Folder = DriveApp.getFolderById(folderid).getFiles(); //source folder
          var dest_Folder = DriveApp.getFolderById(sdDriveId); //destination folder

          while (source_Folder.hasNext()) {
            var file = source_Folder.next();
            var destination = file.makeCopy(name,dest_Folder);
            var date = destination.getDateCreated();
            sheet.getRange(i+2,4,1,2).setValues([ [date, "Processed"] ]);
          }
        }
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...