0

I am trying to copy my some of the folders in google drive using google scripts and I get error on the topFolder.hasnext() line .I've already seen the answers of these questions and they didn't help :

TypeError: Cannot find function hasNext in object (Folder with date ID)

Why cannot Object FolderIterator find function getId?

TypeError: Cannot find function hasNext in object

My code is like this :

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); 

}

I do not understand why it cannot find hasnext function because in the gs documentation it is similar like this:

 var folders = DriveApp.getFolders();
 while (folders.hasNext()) {
   var folder = folders.next();
   Logger.log(folder.getName());
 }

1 Answer 1

0

The function is hasNext, not hasnext. You have a typo.

Sign up to request clarification or add additional context in comments.

1 Comment

Oh ! thanks. Unfortunately I have to work more on this, only one element is being pushed into array, it seems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.