lucanapo
lucanapo

Reputation: 59

DriveApp parent folder

There is something i just don't understand about the logic in DriveApp scripting..the most basic example:

var driveFile = DriveApp.getFileById(id); // makes sense, i can access the file
var name = driveFile.getName(); // makes sense, i easily get the file name

var parentFolder = driveFile.getParents(); // i get folderIterator 
var parentFolderName = // how do i get this???

If i look the documentation folder iterator only lets me access this:

  1. getContinuationToken() String Gets a token that can be used to resume this iteration at a later time.
  2. hasNext() Boolean Determines whether calling next() will return an item.
  3. next() Folder Gets the next item in the collection of files or folders.

How do i get the name for that specific parent folder?

Upvotes: 2

Views: 11806

Answers (1)

ScampMichael
ScampMichael

Reputation: 3728

because files can have more than one parent folder the parents are returned like a list or array, even if there is only one parent folder, and you have to cycle through to retrieve individual parents

// Log the name of every parent folder
 var driveFile = DriveApp.getFileById(id); 
 var parentFolder = driveFile.getParents();
 while (parentFolder.hasNext()) {
   var folder = parentFolder.next();
   Logger.log(folder.getName());
 }

if you were sure that the file has only one parent you could do something like:

var parentFolder = driveFile.getParents();
var folderName =parentFolder.next().getName()

Upvotes: 7

Related Questions