0

Google Apps Script で 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 を使用して特定のフォルダを検索する方法はありますか?何か問題がありますか?

ありがとう!

4

2 に答える 2

0

コードは機能していました。チェックされていないネストされたフォルダーがいくつかありました。

于 2013-09-18T03:16:51.563 に答える
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)

アップデート

実際、 getFolders()はFolderIteratorを返すため、searchFolders(params)を使用することはできませんが、で内部的に検索するために使用できます。parent.getFolders()parent.searchFolders(params)parent

于 2013-09-17T20:34:22.763 に答える