2016-07-18 3 views
0

Я использую Google Drive API. Если я ищу файлы с запросом id = '1234567' и name = 'hello world', он находит все файлы и папки, расположенные непосредственно в папке с идентификатором 1234567 и чей заголовок hello world.Как искать файлы в подпапках вместо родительской/основной папки?

Есть ли запрос на поиск файлов с именем hello world, который находится в любых подпапках 1234567?

ответ

0

Запроса в качестве альтернативы может быть выполнен только в определенной папке, используя экземпляр класса DriveFolder

Вы можете использовать Childer:list для просмотра списка Чилдера к папке. Чтобы перечислить всех дочерних элементов корневой папки, используйте псевдоним root для значения folderId. Обратите внимание, что для каждого запроса требуется авторизация.

Запросы с children.list принимают параметр q, который представляет собой поисковый запрос, объединяющий один или несколько условий поиска.

HTTP запрос

GET https://www.googleapis.com/drive/v2/files/folderId/children 

private static void printFilesInFolder(Drive service, String folderId) 
throws IOException { 
Children.List request = service.children().list(folderId); 

do { 
try { 
ChildList children = request.execute(); 

for (ChildReference child : children.getItems()) { 
System.out.println("File Id: " + child.getId()); 
} 
request.setPageToken(children.getNextPageToken()); 
} catch (IOException e) { 
System.out.println("An error occurred: " + e); 
request.setPageToken(null); 
} 
} while (request.getPageToken() != null && 
request.getPageToken().length() > 0); 
} 
+1

Thats не является правильным решением, поскольку может быть любое количество вложенных папок рекурсивно. – jkb016

Смежные вопросы