Bestimmte Felder einer Datei zurückgeben

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 Feld b auszuwählen, das im Feld a 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 mit fields=role oder fields=*.
  • files.get mit fields=permissions(role) oder fields=permissions/role.
  • files.get mit fields=permissions, um alle Felder der verschachtelten Datei zu implizieren .
  • changes.list mit fields=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"
    }
  ]
}