可以使用新的DriveApp参数搜索特定文件夹吗?

时间:2013-09-17 19:49:19

标签: google-apps-script

我正在寻找一种在Google Apps脚本中使用DriveApp搜索特定文件夹的方法。这是我尝试过的:

var folders = DriveApp.getFolderById('searchedFolderId');
var results = folders.searchFolders( "title contains '"+searchTerm+"'");
while (results.hasNext()) {   
var folder = results.next();
// do something with search results here
}

每当我尝试这种方法时,我只得到文件夹迭代器中返回的第一个文件夹,即使还有很多其他结果。

我也尝试过:

var results = DriveApp.searchFolders( "'searchedFolderId' in parents and title contains '"+searchTerm+"'");

现在,每当我尝试这种方法时,我有时会在文件夹迭代器中返回多个找到的文件夹。有没有办法使用DriveApp API搜索特定文件夹...我做错了吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

鉴于结构:

A
|-> B
|-> C
|-> D

以下代码可能会有所帮助。

...
var parent = DriveApp.getFolderById('****************************'); // ID A
var folders = parent.getFolders(); 
while (folders.hasNext()) {
  var folder = folders.next();
  Logger.log(folder.getName());  
}

var specificFolder = parent.getFoldersByName('C');
if(specificFolder.hasNext())
  Logger.log(specificFolder.next().getName());
...

要搜索特定文件夹,您可以使用以下方法:getFoldersByName(name)

<强>更新

确实,您无法将searchFolders(params)parent.getFolders()一起使用,因为getFolders()会返回FolderIterator,但是,您可以使用parent.searchFolders(params)在{{1}内部进行搜索}}

答案 1 :(得分:0)

代码正在运行。我有一些未经检查的嵌套文件夹。