Vergleich der Drive APIs Version 2 und Version 3

Die neueste Version der Google Drive API ist v3. In Version 3 ist die Leistung besser, da bei der Suche nur ein Teil der Felder zurückgegeben wird. Verwenden Sie die aktuelle Version, sofern Sie nicht die Sammlung v2 benötigen. Wenn Sie v2 verwenden, sollten Sie eine Migration zu v3 in Betracht ziehen. Informationen zur Migration finden Sie unter Migration zur Drive API v3. Eine vollständige Liste der Versionsunterschiede finden Sie im Vergleich der Drive API (Version 2 und Version 3).

Wenn Sie Version 2 weiterhin verwenden möchten, finden Sie im Änderungsvereinbarung Leitfaden für Version 2 der Drive API Informationen dazu, wie einige Anleitungen in den Leitfäden für Version 2 für Entwickler der Version 2 geändert werden müssen.

Wenn Sie mehr über die Verbesserungen der Drive API in Version 3 erfahren möchten, sehen Sie sich das folgende Video an, in dem Google-Entwickler das neue API-Design besprechen.

V3-Verbesserungen

Version 3 bietet folgende Verbesserungen im Vergleich zur vorherigen API-Version, um die Leistung zu optimieren und die Komplexität des API-Verhaltens zu verringern:

  • Bei der Suche nach Dateien und geteilten Ablagen werden standardmäßig nicht alle Ressourcen zurückgegeben, sondern nur ein Teil der häufig verwendeten Felder. Weitere Informationen zu fields finden Sie in den Methoden files.list und drives.list.
  • Fast alle Methoden, die eine Antwort zurückgeben, erfordern jetzt den Parameter fields. Eine Liste aller Methoden, die fields erfordern, finden Sie in der Referenz zur Drive API.
  • Ressourcen mit doppelten Funktionen wurden entfernt. Beispiele:
    • Die Methode files.list bietet dieselben Funktionen wie die Sammlungen Children und Parents. Sie werden daher aus Version 3 entfernt.
    • Die Realtime.*-Methoden wurden entfernt.
  • App-Daten werden bei Suchanfragen standardmäßig nicht zurückgegeben. In v2 können Sie den Bereich drive.appdata festlegen. Dadurch werden Anwendungsdaten von der Methode files.list und der Methode changes.list zurückgegeben, allerdings verlangsamt dies die Leistung. In v3 legen Sie den Bereich drive.appdata und den Abfrageparameter spaces=appDataFolder fest, um Anwendungsdaten anzufordern.
  • Bei allen Aktualisierungsvorgängen 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 intransparente Seitentokens. Wenn Sie die Änderungssammlung abfragen möchten, rufen Sie zuerst die Methode changes.getStartPageToken für den Anfangswert auf. Bei nachfolgenden Abfragen gibt die Methode changes.list den Wert newStartPageToken zurück.
  • Aktualisierungsmethoden lehnen jetzt Anfragen ab, die nicht beschreibbare Felder enthalten.
  • Die Felder exportFormats und importFormats der Version 2 in der Ressource about sind Listen der zulässigen Import- oder Exportformate. In Version 3 sind es MIME-Typ-Zuordnungen möglicher Ziele für alle unterstützten Importe oder Exporte.
  • Die v2-Aliasse appdata und appfolder heißen jetzt appDataFolder in v3.
  • Die Ressource properties wurde aus v3 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, sodass das Feld für die Sichtbarkeit nicht erforderlich ist.
  • Im Feld modifiedTime in der Ressource files wird aktualisiert, wann das letzte Mal die Datei geändert wurde. In v2 konnte das Feld modifiedDate nur bei der Aktualisierung geändert werden, wenn Sie das Feld setModifiedDate festgelegt haben.
  • Das Feld viewedByMeTime in der Ressource files wird nicht automatisch aktualisiert.
  • Für den Import von Google Docs-Formaten legen Sie im Ressourcentext die entsprechende Ziel-mimeType fest. In v2 haben Sie ?convert=true festgelegt.
  • Wenn das Format nicht unterstützt wird, wird bei Importvorgängen der Fehler 400 zurückgegeben.
  • Leser und Kommentatoren können keine Berechtigungen sehen.
  • Der me-Alias für Berechtigungen wurde entfernt.
  • Einige Funktionen waren als Teil der Anfrageressource verfügbar, sind aber stattdessen als Anfrageparameter verfügbar. Beispiel:
    • In v2 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 unterscheiden sich in Version 3. Beispiele:

  • Das Attribut name ersetzt title in der Ressource files.
  • Time ist das Suffix für alle Datums- und Uhrzeitfelder anstelle von Date.
  • Bei Listenvorgängen wird das Feld items nicht verwendet, um den Ergebnissatz zu enthalten. Der Ressourcentyp stellt ein Feld für die Ergebnisse bereit (z. B. files oder changes).