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ć poleb
zagnieżdżone w polua
, 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
lubfields=*
.files.get
z:fields=permissions(role)
lubfields=permissions/role
.files.get
z parametremfields=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" } ] }