Могу ли я использовать функцию DriveApp searchFiles для поиска папок, а не родительских папок? - PullRequest
0 голосов
/ 28 января 2020

Я все еще новичок в использовании функции DriveApp.searchFiles(), и мне интересно, если вместо поиска родителей, я могу уменьшить один и ограничить его только бабушкой и дедушкой, а не просто непосредственным старшим папкой. Вот моя часть сценария:

var filesource = DriveApp.searchFiles("title contains '" + cellvenue + "' and title contains '" + cellperiod + "' and parents in '{parent folder ID}'");
if(filesource.hasNext() === true){
  while(filesource.hasNext()){
    var File = filesource.next();
    var ID = File.getId(); 
  }
}

я хотел бы, чтобы поиск перебирал папку дедушки, все ее подпапки и все файлы соответствующих подпапок. Извините, если это глупый вопрос, я все еще новичок в драйвере API-интерфейсов скриптов. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 28 января 2020

Метод DriveApp.searchFiles() возвращает все файлы на диске пользователя, которые соответствуют запросу . Объект, возвращаемый методом - FileIterator. Таким образом, вы перебираете его, чтобы получить каждый File объект со своими свойствами. (например, родители, идентификатор, имя и т. д. c ...)

Также в своем коде вы вкладываете while в оператор if, но while уже проверяет, является ли условие верно. Вы можете избежать лишних строк, выполнив что-то вроде следующего:

var files_matching_query = DriveApp.searchFiles("title contains '" + cellvenue + "' and title contains '" + cellperiod + "' and parents in '{parent folder ID}'");

// While the iterator "files_matching_query" has next file
while(files_matching_query.hasNext()){

  // Get the file's Id
  var fileId = files_matching_query.next().getId();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...