Получение дополнительных полей в работе со списком для Google Drives API v3 - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь использовать Google Drive API v3, чтобы перечислить все общие диски, к которым у пользователя есть доступ, вместе с некоторыми дополнительными полями.

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

Поля, которые я специально запрошу:

  • ID
  • Имя
  • Возможности (чтобы узнать, может ли пользователь записать на диск и т. Д.)

Все эти примеры, приведенные ниже, былипробовал в проводнике Google API.

Если поля не указаны, я получаю следующее. Это ожидается.

{
 "kind": "drive#driveList",
 "nextPageToken": "...",
 "drives": [
  {
   "kind": "drive#drive",
   "id": "xxxx",
   "name": "Example Drive"
  },
  {
   "kind": "drive#drive",
   "id": "xxxy",
   "name": "Another Example Drive"
  },
  // ...

При значении поля drives(id,name,capabilities) я получаю:

{
 "drives": [
  {
   "id": "xxxx",
   "name": "Example Drive"
  },
  {
   "id": "xxxy",
   "name": "Another Example Drive"
  },
  // ...

Как видите, поля, которые мне не нужны, были удалены,но поля, которые я хотел выбрать, не были добавлены. Я подумал, что я только что понял что-то не так в том, что capabilities сам по себе является объектом, но попытка его с другим простым свойством (hidden) также не приносит удачи.

Что еще я могу сделатьнужно сделать чтобы эта работа работала?

Ответы [ 2 ]

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

Поля * должны возвращать все поля, доступные для любого ответа

GET https://www.googleapis.com/drive/v3/drives?fields=*&key={YOUR_API_KEY}

Я не могу проверить это, у меня нет доступа к общим дискам.

{
 "kind": "drive#driveList",
 "drives": [
 ]
}

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

https://developers.google.com/drive/api/v3/reference/drives/get
0 голосов
/ 07 октября 2019

Google Drive API v3 не поддерживает это.

Однако Google Drive API v2 поддерживает это! Вы можете попробовать здесь .

Если вы не можете использовать v2 вместо v3, вам придется сделать то, что предложено @ DalmTo , и получить всеИдентификаторы дисков, затем попросите каждого из них получить нужные вам поля.

Надеюсь, это поможет!

...