Я пытаюсь скопировать некоторые из своих папок на диске Google с помощью сценариев Google, и я получаю сообщение об ошибке в строке topFolder.hasnext (). Я уже видел ответы на эти вопросы, и они не помогли:
TypeError: Не удается найти функцию hasNext в объекте (папка с идентификатором даты)
Почему Object FolderIterator не может найти функцию getId?
TypeError: Невозможно найти функцию hasNext в объекте
Мой код такой:
function onOpen(){
SpreadsheetApp.getUi()
.createMenu("Hello there Click Me")
.addItem('Copy the files and folder to your specified dir','fCopier')
.addToUi()
}
var thisSheet = SpreadsheetApp.getActiveSheet();
var folderId = thisSheet.getRange("B1").getValue();
var folderId = folderId.toString().trim();
var ttopFolder = DriveApp.getFolderById(folderId);
var topFolder = ttopFolder.getFolders();
var desFolder = thisSheet.getRange("B3").getValue();
var desFolder = desFolder.toString().trim();
var reallyDesFolder = DriveApp.getFolderById(desFolder);
var forFilelist = ttopFolder.getFiles();
var topper = [];
while(topFolder.hasnext()){
topper.push(topFolder.next());
}
var filer = [];
while(forFilelist.hasNext()){
filer.push(forFilelist.next())
}
function fCopier(){
for (var i = 0; i < topper.length; i++) {
var finalfolders = topper[i];
}
var folderCompleto = reallyDesFolder.createFolder(finalfolders);
for(var j =0; j<filer.length; j++){
var finalfiles = filer[j];
}
var fileCompleto = finalfiles.makeCopy(reallyDesFolder);
}
Я не понимаю, почему он не может найти функцию hasnext, потому что в GSдокументация похожа на это:
var folders = DriveApp.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
Logger.log(folder.getName());
}