Я пытаюсь переместить несколько папок и их содержимое с 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"] ]);
}
}
}
}