File.list только возвращает идентификатор и имя - PullRequest
0 голосов
/ 04 октября 2019

Я делаю file.list в google drive api

GET https://www.googleapis.com/drive/v3/files?access_token=XXXX

Это работает нормально, но возвращает только четыре поля для каждого из файлов в списке

"kind": "drive#file",
"id": "1x8-vD-XiXEEA5Spf3qp8x2wltablGF22Lpwup8VtxNY",
"name": "Experts Activity Dump go/ExpertsActivities",
"mimeType": "application/vnd.google-apps.spreadsheet"

В документации говорится, что он должен возвращать полный файловый ресурс для каждого файла, но это не так.

Единственное, что я смог сделать, это сделатьfile.get для каждого из файлов, чтобы получить дополнительную информацию.

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Это предполагаемое поведение API. Для справки, вы можете увидеть здесь объяснение рядом с параметром "fields":

Пути полей, которые вы хотите включить в ответ. Если не указано, ответ включает набор полей по умолчанию, специфичных для этого метода. Для разработки вы можете использовать специальное значение *, чтобы вернуть все поля, но вы достигнете большей производительности, только выбрав поля, которые вынужно. Для получения дополнительной информации см. Документацию по частичным ответам.

Для этого API поля по умолчанию действительно являются kind, id, name и mimeType.

Рекомендуется ограничить поля (используя вышеупомянутый параметр) к тем, которые вам нужны, так как это приведет к значительной разнице в производительности.

0 голосов
/ 04 октября 2019

Это была старая проблема, которая, похоже, была исправлена.

GET https://www.googleapis.com/drive/v3/files?fields=*&access_token=XXXX

отправив поля = * теперь вы можете увидеть полный ответ file.resorce для каждого из файлов в списке. Больше нет необходимости делать file.get для каждого файла.

При этом, вероятно, будет хорошей идеей ограничить поля теми полями, которые вам действительно нужны

...