Как мы можем перечислить все файлы из определенной папки на Google Диске
Мы заметили, что Javascript API Google Drive позволяет выводить список всех файлов из определенной папки, однако он выводит только основные сведения из файла. Если мы хотим узнать больше, например, имя файла, нам нужно снова запросить API для каждого отдельного файла. Есть ли способ, которым мы можем перечислить более подробную информацию о файле, например, имя файла из одного запроса списка папок?
Спасибо
3 ответа
Я думаю, что вы использовали Children.list (). Он только перечисляет идентификатор дочерних элементов, который не является той функцией, которую вы хотите. Вам лучше использовать Files.list() с параметром q="'{{FOLDER_ID}}' у родителей", и в нем будут перечислены все файлы и сведения о дочерних элементах определенной папки, которую вы хотите.
Я много гуглил на этот вопрос, но ответ прямо здесь. Вы должны использовать следующий фрагмент кода, как я использовал:
Files.List request = mService.files().list().setQ("'Your Folder ID Here' in parents");
FileList files = request.execute();
if (files != null) {
for (File file : files.getItems()) {
// Meta data
Log.i("", "Title: " + file.getTitle());
Log.i("", "Description: " + file.getDescription());
Log.i("", "MIME type: " + file.getMimeType());
}
}
Я уверен, что это будет работать для вас.
Это можно сделать с помощью googleApis V3. Это пример кода:
string FolderId = "1lh-YnjfDFMuPVisoM-5p8rPeKkihtw9";
// Define parameters of request.
FilesResource.ListRequest listRequest = DriveService.Files.List();
listRequest.PageSize = 10;
listRequest.Q = "'" + FolderId + "' in parents and trashed=false";
listRequest.Fields = "nextPageToken, files(*)";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute()
.Files;
Надеюсь на эту помощь.
Не волнуйтесь об этой проблеме, это легко. Если вы хотите получить все файлы и папки из определенной папки, просто скопируйте и вставьте этот код в свой проект, и он извлечет все файлы и папки из определенной папки. Примечание. У вас должен быть свой собственный идентификатор папки.
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();//plz replace your FOLDER ID in below linez
FileList files = request.setQ("'"+MyFoler_Id+"'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);
}
// Распечатка названий файлов и папок, которые мы получили.
for(File f:result)
{
System.out.println("My recvd data "+f.getTitle());
}