1

Я пытаюсь загрузить файлы только в корневом каталоге. В настоящее время я не указываю никаких папок, поскольку я не знаю, как это сделать, чтобы загружать самые последние файлы, которые находятся в других папках, которые не являются корневыми. Все, что я хотел бы, это файлы в корне. Код, который получает файлы и загрузить URL-адрес ниже:API для управления приложением Google, загружать файлы только из корневой папки

public static void startDownload() throws IOException, ParseException { 

    Drive serv = getDriveService(); 

    FileList result = serv.files().list().setMaxResults(10).execute(); //there are 10 files in the root folder  

    List<File> listA = result.getItems(); 

    if (listA == null || listA.isEmpty()) { 
     System.out.println("No files found."); 
    } else { 
     System.out.println("Files:"+lista.size()); 
     for (File file : listA) { 
      System.out.printf("%s (%s)\n", file.getTitle(), file.getDownloadUrl()); 
      downloadFile(serv, file); 
     } 
    } 
} 

Я хотел бы загрузить все файлы в корневом файле только и не в любых других папках нравится. Любая помощь будет оценена по достоинству.

ответ

1

Есть целый ряд соображений.

Ваших потребности линия 3, чтобы быть

Строки д = "громили = ложь и 'корень' у родителей и MIMETYPE! = 'Приложение/vnd.google-apps.folder"

FileList result = serv.files(). list(). setFields ("*"). setQ (q) .setMaxResults (10) .execute();

Вы должны знать, что это вернет максимум 10 результатов, но даже более того, вы должны знать, что не существует минимальное количество результатов. Это означает, что если у вас есть 11 файлов, вы можете может получить 10 на первой итерации и 1 на 2-й. Однако вы также можете получить 1 и 10, или 3 и 6 и 2, или 0 и 0 и 1 и 10. Вам нужно продолжать получать результаты до значения getNextPageToken() == null. Так что ваша линия

если (lišta == NULL || listA.isEmpty()) {

должно быть что-то вроде

если (result.getNextPageToken() == NULL) {

Я понимаю, что вы скопировали/ввели из официальной документации, но, к сожалению, документация неверна.

2

Вы должны использовать параметр Q для поиска

Q Строка запроса для фильтрации результатов файлов. См. «Поиск файлов » для поддерживаемого синтаксиса.

Отправка чего-то вроде следующего возвращает все, что не является папкой с родителем root.

MIMETYPE! = 'Приложение/vnd.google-apps.folder' и 'корень' у родителей

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