In diesem Dokument wird erläutert, wie Sie den Parameter fields in Google Drive verwenden.
Wenn Sie genau die Felder zurückgeben möchten, die Sie benötigen, und die Leistung verbessern möchten, verwenden Sie den
fields System
parameter in
Ihrem Methodenaufruf.
Informationen zu anderen Systemparametern, die für die Drive API gelten, finden Sie unter Alternative Systemparameter.
Funktionsweise des Parameters „fields“
Der fields Parameter verwendet eine
FieldMask
für die Antwortfilterung. Feldmasken werden verwendet, um eine Teilmenge von Feldern anzugeben, die von einer Anfrage zurückgegeben werden sollen. Mit Feldmasken lässt sich verhindern, dass unnötige Daten angefordert werden, was wiederum hilft, unnötige Verarbeitungszeiten zu vermeiden.
Wenn Sie den Parameter fields nicht angeben, gibt der Server eine Standardgruppe von Feldern zurück, die für die Methode spezifisch sind. Beispielsweise gibt die
list Methode für die files Methode nur die Felder kind, id, name und
mimeType zurück. Die get Methode für die
permissions Ressource gibt eine andere Gruppe
von Standardfeldern zurück.
Für alle Methoden der Ressourcen about, comments (außer delete) und replies (außer delete) müssen Sie den
fields Parameter festlegen. Diese Methoden geben keine Standardgruppe von Feldern zurück.
Nachdem ein Server eine gültige Anfrage verarbeitet hat, die den Parameter fields enthält, gibt er den Statuscode HTTP 200 OK zusammen mit den angeforderten Daten zurück. Wenn der Parameter „fields“ einen Fehler enthält oder ungültig ist, gibt der Server den Statuscode HTTP 400 Bad Request zusammen mit einer Fehlermeldung zurück, in der angegeben wird, was bei Ihrer Feldauswahl falsch ist. Beispielsweise
files.list(fields='files(id,capabilities,canAddChildren)') führt zu einem Fehler mit der Meldung
„Invalid field selection canAddChildren.“ Der richtige Parameter „fields“ für dieses
Beispiel ist files.list(fields='files(id,capabilities/canAddChildren)').
Auf der Dokumentationsseite der Ressource, die Sie abfragen, finden Sie die Felder, die Sie mit dem Parameter fields zurückgeben können. Informationen dazu, welche Felder Sie für eine Datei zurückgeben können, finden Sie in der Dokumentation zur Ressource files.
Weitere dateispezifische Suchbegriffe finden Sie unter Suchbegriffe und Operatoren.
Regeln für das Format von Feldparametern
Das Format des Werts des Anfrageparameters „fields“ basiert grob auf der XPath-Syntax. Im Folgenden finden Sie Formatierungsregeln für den Parameter fields. Alle diese Regeln verwenden Beispiele im Zusammenhang mit der Methode files.get.
Mit einer durch Kommas getrennten Liste können Sie mehrere Felder auswählen, z. B.
'name, mimeType'.Verwenden Sie
a/b, um das Feldbauszuwählen, das im Feldaverschachtelt ist, z. B.'capabilities/canDownload'. Weitere Informationen finden Sie unter Felder einer verschachtelten Ressource abrufen.Verwenden Sie ein untergeordnetes Auswahlzeichen, um eine Reihe von untergeordneten Feldern von Arrays oder Objekten anzufordern. Setzen Sie dazu Ausdrücke in Klammern: „()“. Beispiel:
'permissions(id)'gibt nur die Berechtigungs-ID für jedes Element im Array „permissions“ zurück.Wenn Sie alle Felder in einem Objekt zurückgeben möchten, verwenden Sie ein Sternchen (
*) als Platzhalter in der Feldauswahl. Beispiel:'permissions/permissionDetails/*'wählt alle verfügbaren Felder für Berechtigungsdetails pro Berechtigung aus. Die Verwendung des Platzhalters kann sich negativ auf die Leistung der Anfrage auswirken.
Ersuchen
In diesem Beispiel geben wir den Pfadparameter für die Datei-ID 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 angeben, welche Felder der verschachtelten Ressource abgerufen werden sollen.
Wenn Sie beispielsweise das Feld role (verschachtelte Ressource) der Ressource permissions abrufen möchten, verwenden Sie eine der folgenden Optionen:
permissions.getmitfields=role.permissions.getmitfields=*, um alle Felder vonpermissionsanzuzeigen.files.getmitfields=permissions(role)oderfields=permissions/role.files.getmitfields=permissions, um alle Felder vonpermissionsanzuzeigen.changes.listmitfields=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).
Ersuchen
In diesem Beispiel geben wir den Pfadparameter für die Datei-ID und mehrere Felder, einschließlich bestimmter Felder der verschachtelten Ressource „permissions“, 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,permissions(kind,type,role)
Antwort
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }
Alternative Systemparameter
Abfrageparameter, die für alle Google Drive API-Vorgänge gelten, sind unter Systemparameter dokumentiert.