0

Это сегмент моего кода, где я пытаюсь создать серию электронных таблиц в новой папке, которые являются копиями одного шаблона, которые впоследствии будут редактироваться индивидуально. Вот несколько примеров кода:google scripts file.makeCopy (имя, назначение) неверный аргумент

function myFunction() { 
    var accountNames = [1,2,3,4,5]; 
    findSpreadSheets(accountNames); 
} 

function findSpreadSheets(accountNames) { 
    var files = []; 
    Logger.log(DriveApp.getFoldersByName("Automated Budgets").hasNext()); 
    var folder = DriveApp.getFoldersByName("Automated Budgets").next(); 
    for (var i=0; i<accountNames.length; i++) { 
    var spreadsheetIterator = DriveApp.getFilesByName(accountNames[i] + " Dynamic Budget"); 
    if (spreadsheetIterator.hasNext()){ 
     var file = spreadsheetIterator.next(); 
     files.push(file); 
    } 
    else{ 
     var template = DriveApp.getFilesByName("Dynamic Budget Template").next() 
     template.makeCopy(accountNames[i] + " Dynamic Budget", folder); 
    var newFile = DriveApp.getFilesByName(accountNames[i] + " Dynamic Budget").next(); 
     newFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT); 
     files.push(newFile); 
    } 
    } 

    return files; 

} 

Я получаю ошибку «Неверный аргумент (строка 21, файл„“)», который ссылается на линии template.makeCopy (accountNames [I] + «Динамический бюджет», папка). После многочисленных тестов я пришел к выводу, что ошибка не является проблемой с именем, но с местом назначения. Логгер до того, как объявление папки вернет true, папка существует на моем диске, поэтому я путаюсь, почему это не является допустимым каталогом. Любая помощь будет оценена по достоинству.

ответ

0

Я не уверен, что это касается вашей проблемы напрямую, но я также столкнулся с нечетной ошибкой «Недопустимый аргумент» при выполнении вызовов функции makeCopy(). Он продолжал болтаться на одном предмете, несмотря на то, что аргументы были абсолютно правильными.

Оказалось, что файл, о котором идет речь, является файлом Lucid Chart, который является сторонним приложением, использующим SDK Google Диска для хранения своих файлов на Google Диске. Когда я проверил тип MIME для этого файла, это было «application/vnd.google-apps.drive-sdk.7081045131». Казалось бы, этот тип файла выходит за рамки функции makeCopy(). Теперь мы знаем.

Если бы я был менее ленив, я мог бы теперь программно избегать нестандартных типов MIME, но вместо этого я просто отфильтровал эти файлы из списка файлов.

Смежные вопросы