Zwracanie konkretnych pól pliku

Aby zwrócić dokładnie te pola, których potrzebujesz, i zwiększyć wydajność, użyj funkcji fields w wywołaniu metody.

Domyślnie serwer odsyła zbiór pól specyficznych dla danego zasobu jest przedmiotem zapytania. Na przykład files.get może zwrócić tylko id, name i mimeType dla files zasób. Metoda permissions.get zwraca błąd z innym zestawem pól domyślnych dla permissions zasób.

Gdy serwer przetworzy prawidłowe żądanie, które zawiera zapytanie fields , wysyła on kod stanu HTTP 200 OK oraz żądane i skalowalnych danych. Jeśli parametr zapytania w polu zawiera błąd lub jest nieprawidłowy z innego powodu, serwer zwraca kod stanu HTTP 400 Bad Request wraz z błędem z informacją o problemach z wybranymi polami. Przykład: files.list(fields='files(id,capabilities,canAddChildren)') zwraca błąd „Nieprawidłowy wybór pola canAddChildren”. Prawidłowy parametr zapytania pól dla Ten przykład jest files.list(fields='files(id,capabilities/canAddChildren)')

Aby określić pola, które można zwracać za pomocą parametru fields, otwórz stronie dokumentacji zasobu, którego dotyczy zapytanie. Aby na przykład zobaczyć, co które można zwrócić, zapoznaj się z dokumentacją zasobów files.

Reguły formatu parametru pola

Format wartości parametru żądania w polach jest luźny oparty na XPath składni. Poniżej znajdziesz reguły formatowania dla parametru fields. Wszystkie z tej listy te reguły korzystają z przykładów związanych z metodą files.get.

  • Użyj listy rozdzielanej przecinkami, aby wybrać kilka pól, np. 'name, mimeType'.

  • Użyj funkcji a/b, aby wybrać pole b zagnieżdżone w polu a, na przykład 'capabilities/canDownload' Więcej informacji znajdziesz w artykule Pobieranie pól atrybutu zagnieżdżone .

  • Użyj selektora podrzędnego, aby zażądać zbioru konkretnych podrzędnych pól tablic lub , umieszczając wyrażenia w nawiasach „()”. Przykład: 'permissions(id)' zwraca tylko identyfikator uprawnień każdego elementu w lub tablicy uprawnień.

  • Aby zwrócić wszystkie pola obiektu, użyj w polu gwiazdki jako symbolu wieloznacznego wybrane opcje. Na przykład 'permissions/permissionDetails/*' wybiera wszystko dostępnych pól ze szczegółami uprawnień na uprawnienie. Pamiętaj, że użycie funkcji może mieć negatywny wpływ na wydajność żądania.

Pokaż przykład

Wyślij prośbę

W tym przykładzie jako parametr zapytania w żądaniu podajemy parametr ścieżki identyfikatora pliku i wiele pól. Odpowiedź zwraca wartości pól identyfikatora pliku.

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared

Odpowiedź

{
  "name": "File1",
  "starred": false,
  "shared": true
  }
}

Pobierz pola zagnieżdżonego zasobu

Jeśli pole odnosi się do innego zasobu, możesz określić, które pola wartości powinien zostać pobrany zagnieżdżony zasób.

Aby na przykład pobrać pole role (zagnieżdżony zasób) klasy permissions zasobu, użyj dowolnej z tych opcji:

  • permissions.get z: fields=role lub fields=*.
  • files.get z: fields=permissions(role) lub fields=permissions/role.
  • files.get z parametrem fields=permissions, aby sugerować wszystkie pola w zagnieżdżonym formacie .
  • changes.list z: fields=changes(file(permissions(role))).

Aby pobrać wiele pól, użyj listy rozdzielanej przecinkami. Przykład: files.list z: fields=files(id,name,createdTime,modifiedTime,size).

Pokaż przykład

Wyślij prośbę

W tym przykładzie podajemy parametr ścieżki identyfikatora pliku i wiele pól, w tym niektóre pola zagnieżdżonego zasobu uprawnień, jako parametr zapytania w żądaniu. Odpowiedź zwraca wartości pól identyfikatora pliku.

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)

Odpowiedź

{
  "name": "File1",
  "starred": false,
  "shared": true,
  "permissions": [
    {
      "kind": "drive#permission",
      "type": "user",
      "role": "owner"
    }
  ]
}