Вернуть все файлы в папке с помощью Google Drive Java API

Я могу получить все файлы внутри моей корневой папки, используя этот код:

FileList result = driveService.files().list()
        .setPageSize(100)
        .setFields("nextPageToken, files(id, name)")
        .execute();

Однако я хотел бы вернуть только файлы внутри папки «тест» под корнем, но это не удается:

FileList result = driveService.files().list().setQ("test in parents")
            .setPageSize(100)
            .setFields("nextPageToken, files(id, name)")
            .execute();

с этой ошибкой:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
GET https://www.googleapis.com/drive/v3/files?fields=nextPageToken,%20files(id,%20name)&pageSize=100&q=test%20in%20parents
{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "location" : "q",
    "locationType" : "parameter",
    "message" : "Invalid Value",
    "reason" : "invalid"
  } ],
  "message" : "Invalid Value"
}

Любая идея, что я делаю неправильно?

Я думаю, что это должно быть 'test' in parents. Вы забыли цитаты.

Generous Badger 22.03.2022 09:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пропустили кавычки вокруг test.

И test может быть не именем папки, а идентификатором папки.

'FOLDER_ID' in parents

Справка:

Спасибо, однако это кажется очень запутанным. Нужно ли сначала запрашивать имя папки, чтобы получить идентификатор, а затем выполнять другой запрос, чтобы получить файлы?

user2395365 22.03.2022 12:04

@user2395365 user2395365 Правильно, вы не можете перечислить напрямую через имя родительской папки. Сначала вы должны получить идентификатор папки, который вы можете получить с помощью предыдущего запроса, как вы сказали.

Iamblichus 22.03.2022 12:24

Другие вопросы по теме