Um die benötigten Felder zurückzugeben und die Leistung zu verbessern, verwenden Sie den fields
im Methodenaufruf verwenden.
Standardmäßig sendet der Server eine Reihe von Feldern zurück, die für die betreffende Ressource spezifisch sind
abgefragt. Beispiel: Der files.get
gibt möglicherweise nur id
, name
und mimeType
für die
files
-Ressource. Die
permissions.get
-Methode gibt
Standardfelder für eine
permissions
-Ressource.
Nachdem ein Server eine gültige Anfrage verarbeitet hat, die die fields
-Abfrage enthält
wird der Statuscode HTTP 200 OK
zusammen mit dem angeforderten Wert
Daten. Wenn der Abfrageparameter "fields" einen Fehler enthält oder anderweitig ungültig ist, wird der
Der Server gibt den Statuscode HTTP 400 Bad Request
zusammen mit einem Fehler zurück
gibt an, was mit der Feldauswahl nicht stimmt. Beispiel:
files.list(fields='files(id,capabilities,canAddChildren)')
führt zu folgendem Fehler:
„Ungültige Feldauswahl canAddChildren.“ Der richtige Abfrageparameter für "fields" für
dieses Beispiel ist
files.list(fields='files(id,capabilities/canAddChildren)')
Informationen dazu, welche Felder Sie mit dem Parameter fields
zurückgeben können, finden Sie auf der
Dokumentationsseite der Ressource, die Sie abfragen. Um beispielsweise zu sehen,
Felder, die Sie für eine Datei zurückgeben können, finden Sie in der files
-Ressourcendokumentation.
Formatierungsregeln für Feldparameter
Das Format des Werts des Feldanfrageparameters basiert grob auf XPath
Syntax. Im Folgenden finden Sie Formatierungsregeln für den Parameter fields
. Alle von
Diese Regeln verwenden Beispiele für die Methode files.get
.
Verwenden Sie eine durch Kommas getrennte Liste, um mehrere Felder wie
'name, mimeType'
auszuwählen.Verwenden Sie
a/b
, um das Feldb
auszuwählen, das im Felda
verschachtelt ist, z. B.:'capabilities/canDownload'
. Weitere Informationen finden Sie unter Felder einer Verschachtelt Ressource.Verwenden Sie ein untergeordnetes Auswahlzeichen, um eine Reihe von untergeordneten Feldern von Arrays oder indem Sie Ausdrücke in Klammern "()" setzen. Beispiel:
'permissions(id)'
gibt nur die Berechtigungs-ID für jedes Element im Berechtigungsarray.Wenn alle Felder in einem Objekt zurückgegeben werden sollen, verwenden Sie im Feld ein Sternchen als Platzhalter Auswahl. Beispielsweise werden mit
'permissions/permissionDetails/*'
alle verfügbaren Berechtigungsdetailfeldern pro Berechtigung. Beachten Sie, dass die Verwendung von kann dieser Platzhalter negative Leistungsbeeinträchtigungen für die Anfrage zur Folge haben.
Beispiel ansehen
Anfrage
In diesem Beispiel geben wir den Datei-ID-Pfadparameter und mehrere Felder als Abfrageparameter in der Anfrage an. Die Antwort gibt die Feldwerte für die Datei-ID zurück.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
Antwort
{ "name": "File1", "starred": false, "shared": true } }
Felder einer verschachtelten Ressource abrufen
Wenn ein Feld auf eine andere Ressource verweist, können Sie festlegen, welche Felder der sollte abgerufen werden.
Zum Abrufen des Felds role
(verschachtelte Ressource) von permissions
Ressource, verwenden Sie eine der folgenden Optionen:
permissions.get
mitfields=role
oderfields=*
.files.get
mitfields=permissions(role)
oderfields=permissions/role
.files.get
mitfields=permissions
, um alle Felder der verschachtelten Datei zu implizieren .changes.list
mitfields=changes(file(permissions(role)))
.
Wenn Sie mehrere Felder abrufen möchten, verwenden Sie eine durch Kommas getrennte Liste. Beispiel:
files.list
mit fields=files(id,name,createdTime,modifiedTime,size)
.
Beispiel ansehen
Anfrage
In diesem Beispiel stellen wir den Parameter für den Datei-ID-Pfad und mehrere Felder, einschließlich bestimmter Felder der verschachtelten Berechtigungsressource, als Abfrageparameter in der Anfrage bereit. Die Antwort gibt die Feldwerte für die Datei-ID zurück.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
Antwort
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }