Я могу получить все файлы внутри моей корневой папки, используя этот код:
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
.
И test
может быть не именем папки, а идентификатором папки.
'FOLDER_ID' in parents
Спасибо, однако это кажется очень запутанным. Нужно ли сначала запрашивать имя папки, чтобы получить идентификатор, а затем выполнять другой запрос, чтобы получить файлы?
@user2395365 user2395365 Правильно, вы не можете перечислить напрямую через имя родительской папки. Сначала вы должны получить идентификатор папки, который вы можете получить с помощью предыдущего запроса, как вы сказали.
Я думаю, что это должно быть
'test' in parents
. Вы забыли цитаты.