Я хотел бы получить список файлов и папок в корневом каталоге без необходимости сортировки всех файлов. Есть ли запрос, который бы сделал это?
Запрос списка файлов и папок в корневом каталоге
Ответ 1
Корневую папку можно также адресовать специальным псевдонимом с именем "root", поэтому вы можете получить все файлы и папки в корневом каталоге со следующим запросом:
https://www.googleapis.com/drive/v2/files?q='root' in parents
Не забудьте избежать URL-адреса, если не используете одну из клиентских библиотек (они автоматически позаботятся об этом).
Для получения дополнительной информации о языке поисковых запросов, выберите https://developers.google.com/drive/search-parameters
Ответ 2
В этом коде будут отображаться все файлы и папка вашего КНИГИ > . просто скопируйте и вставьте этот код, и вы получите все свои корневой файл и папку.
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();
FileList files = request.setQ("'root' in parents and trashed=false").execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
//Print out all the files and folder of root Directory
for(File f:result)
{
System.out.println("recvd data are: "+f.getTitle());
}
Ответ 3
Google drive v3 Обратитесь к документации по созданию DriveClient. Запустите этот метод ниже в фоновом потоке (Android).
Примечание. Требуется разрешение области действия "DriveScopes.DRIVE".
protected String[] getListChildren(String parentId) throws Exception {
String[] children = null;
parentId = parentId == null ? "root" : parentId;
String fileQuery = "'" + parentId + "' in parents and trashed=false";
FileList files = driveService.files().list().setQ(fileQuery).execute();
List<String> fileNames = new ArrayList<String>();
for (File file : files.getFiles()) {
fileNames.add(file.getName());
}
children = fileNames.toArray(new String[0]);
return children;
}