Я написал сценарий (с большой помощью добрых ребят), который копирует папку (и ее содержимое) на Google Диск с помощью скриптов Google Sheets.
Долгое время он работал нормально, но потом Я включил двигатель V8 (сейчас отключен). Проблема в том, что он все еще работает для меня (и, возможно, еще двух пользователей), но не работает для всех остальных. Я не программист, но я узнал достаточно, чтобы помочь мне автоматизировать некоторые задачи в Excel / Таблицах.
До сих пор я пробовал перепроверить все разрешения, создать новый лист, назначить новых владельцев, удалить триггеры, узнайте больше о V8. Но на самом деле это не работает, потому что я даже не могу понять проблему.
Буду признателен за любые предложения. TIA
PS: Мы используем общие диски, и папка Source / Target доступна всем пользователям.
Вот сценарий:
function onClick() {
ss.getRange("B2:B8").clearContent();
}
function start() {
var sourceFolder = ss.getRange("B19").getValue() ; // Change every month
var targetFolder = ss.getRange("B22").getValue();
var source = DriveApp.getFoldersByName(sourceFolder); // Grab the folder we're going to copy
var parentFolder=DriveApp.getFolderById(ss.getRange("B11").getValue()); // Destination for the new folder.
var target = parentFolder.createFolder(targetFolder);
if (source.hasNext()) {
copyFolder(source.next(), target);
}
}
function copyFolder(source, target) {
var folders = source.getFolders();
var files = source.getFiles();
var prefix = ss.getRange("B23").getValue();
while(files.hasNext()) {
var file = files.next();
file.makeCopy(file.getName(), target).setName(prefix + file.getName());
}
while(folders.hasNext()) {
var subFolder = folders.next();
var folderName = subFolder.getName();
var targetFolder = target.createFolder(folderName);
copyFolder(subFolder, targetFolder);
var NewFolderUrl = target.getUrl()
SpreadsheetApp.getActiveSheet().getRange('B8').setValue(NewFolderUrl);
}
//file.setName(prefix + file.getName());
}