Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.5k views
in Technique[技术] by (71.8m points)

google apps script - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...