Vergleich der Drive APIs Version 2 und Version 3

Die aktuelle Version der Google Drive API ist v3. Die Leistung in Version 3 ist besser, da bei Suchvorgängen nur eine Teilmenge von Feldern zurückgegeben wird. Verwenden Sie die aktuelle Version, sofern Sie die v2-Sammlung nicht benötigen. Wenn Sie Version 2 verwenden, sollten Sie eine Migration zu Version 3 in Betracht ziehen. Informationen zur Migration finden Sie unter Zur Drive API v3 migrieren. Eine vollständige Liste der Unterschiede zwischen den Versionen finden Sie in der Referenz zum Vergleich von Drive API v2 und v3.

Wenn Sie Version 2 weiterhin verwenden möchten, lesen Sie den Leitfaden zur Drive API v2, um zu erfahren, wie einige Anleitungen in den Version 3-Leitfäden für Entwickler von Version 2 geändert werden müssen.

Weitere Informationen zu den Verbesserungen der Drive API v3 finden Sie im folgenden Video, in dem Google-Entwickler das neue API-Design erläutern.

V3-Verbesserungen

Um die Leistung zu optimieren und die Komplexität des API-Verhaltens zu verringern, bietet Version 3 die folgenden Verbesserungen gegenüber der vorherigen API-Version:

  • Bei der Suche nach Dateien und geteilten Ablagen werden standardmäßig keine vollständigen Ressourcen zurückgegeben, sondern nur eine Teilmenge häufig verwendeter Felder. Weitere Informationen zu fields finden Sie in den Artikeln zur files.list-Methode und zur drives.list-Methode.
  • Für fast alle Methoden, die eine Antwort zurückgeben, ist jetzt der Parameter fields erforderlich. Eine Liste aller Methoden, für die fields erforderlich ist, finden Sie in der Drive API-Referenz.
  • Ressourcen mit doppelten Funktionen wurden entfernt. Beispiele:
    • Die Methode files.list bietet dieselbe Funktionalität wie die Sammlungen Children und Parents. Daher werden sie aus Version 3 entfernt.
    • Die Realtime.*-Methoden wurden entfernt.
  • App-Daten werden standardmäßig nicht in Suchergebnissen zurückgegeben. In Version 2 können Sie den Bereich drive.appdata festlegen. Die Methode gibt Anwendungsdaten aus der Methode files.list und der Methode changes.list zurück, was jedoch die Leistung beeinträchtigt. In Version 3 legen Sie den Bereich drive.appdata fest und legen außerdem den Abfrageparameter spaces=appDataFolder fest, um Anwendungsdaten anzufordern.
  • Für alle Aktualisierungsvorgänge wird PATCH anstelle von PUT verwendet.
  • Verwenden Sie zum Exportieren von Google-Dokumenten die Methode files.export.
  • Das Verhalten der Methode changes.list ist anders. Verwenden Sie anstelle von Änderungs-IDs undurchsichtige Seitentokens. Rufen Sie zuerst die Methode changes.getStartPageToken für den Anfangswert auf, um die Sammlung von Änderungen abzufragen. Bei nachfolgenden Abfragen gibt die Methode changes.list den Wert newStartPageToken zurück.
  • Aktualisierungsmethoden lehnen jetzt Anfragen ab, in denen nicht beschreibbare Felder angegeben sind.
  • Die Felder exportFormats und importFormats der Version 2 in der Ressource about sind Listen zulässiger Import- oder Exportformate. In Version 3 sind das MIME-Typ-Zuordnungen von möglichen Zielen zu allen unterstützten Importen oder Exporten.
  • Die v2-Aliasse appdata und appfolder sind in v3 jetzt appDataFolder.
  • Die Ressource properties wird aus Version 3 entfernt. Die Ressource files hat das Feld properties, das echte Schlüssel/Wert-Paare enthält. Das Feld properties enthält öffentliche Attribute und das Feld appProperties private Attribute. Das Sichtbarkeitsfeld ist daher nicht erforderlich.
  • Das Feld modifiedTime in der Ressource files wird aktualisiert, wenn die Datei zuletzt geändert wurde. In Version 2 war das Feld modifiedDate nur bei der Aktualisierung änderbar, wenn Sie das Feld setModifiedDate festgelegt haben.
  • Das Feld viewedByMeTime in der Ressource files wird nicht automatisch aktualisiert.
  • Wenn Sie Google Docs-Formate importieren möchten, legen Sie das entsprechende Ziel-mimeType im Ressourcen-Body fest. In Version 2 legen Sie ?convert=true fest.
  • Importvorgänge geben einen 400-Fehler zurück, wenn das Format nicht unterstützt wird.
  • Leser und Kommentatoren können keine Berechtigungen sehen.
  • Der Alias me für Berechtigungen wird entfernt.
  • Einige Funktionen waren als Teil der Anforderungsressource verfügbar, sind aber stattdessen als Anforderungsparameter verfügbar. Beispiel:
    • In Version 2 können Sie mit children.delete eine untergeordnete Datei aus einem übergeordneten Ordner entfernen.
    • In Version 3 verwenden Sie files.update für das untergeordnete Element mit ?removeParents=parent_id in der URL.

Weitere Unterschiede

Felder und Parameternamen sind in Version 3 unterschiedlich. Beispiele:

  • Das Attribut name ersetzt title in der Ressource files.
  • Time ist das Suffix für alle Datums- und Zeitfelder anstelle von Date.
  • Bei Listenoperationen wird das Feld items nicht für die Ergebnismenge verwendet. Der Ressourcentyp enthält ein Feld für die Ergebnisse (z. B. files oder changes).