Vergleich der Drive APIs Version 2 und Version 3

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

Wenn Sie Version 2 weiterhin verwenden möchten, lesen Sie die Änderung am Leitfaden zur Drive API v2. Dort erfahren Sie, wie einige Anweisungen in den Leitfäden für Version 3 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.

Verbesserungen bei V3

Um die Leistung zu optimieren und das API-Verhalten zu vereinfachen, bietet Version 3 folgende Verbesserungen gegenüber der vorherigen API-Version:

  • Bei Suchanfragen 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, 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 die gleiche Funktionalität wie die Sammlungen Children und Parents. Daher wurden diese aus Version 3 entfernt.
    • Die Realtime.*-Methoden wurden entfernt.
  • App-Daten werden standardmäßig nicht in Suchanfragen zurückgegeben. In Version 2 können Sie den Umfang drive.appdata festlegen. Es werden dann Anwendungsdaten aus der files.list-Methode und der changes.list-Methode zurückgegeben. Die Leistung wird dadurch jedoch beeinträchtigt. In Version 3 legen Sie den Umfang drive.appdata und 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.
  • Die Methode changes.list verhält sich anders. Verwenden Sie stattdessen opake Seitentokens. Rufen Sie zuerst die Methode changes.getStartPageToken für den Anfangswert auf, um die Änderungssammlung abzufragen. Bei nachfolgenden Abfragen gibt die Methode changes.list den Wert newStartPageToken zurück.
  • Bei Aktualisierungsmethoden werden Anfragen mit nicht beschreibbaren Feldern jetzt abgelehnt.
  • Die Felder „exportFormats“ und „importFormats“ der Version 2 in der about-Ressource sind Listen zulässiger Import- oder Exportformate. In Version 3 sind es MIME-Typzuordnungen möglicher Ziele für alle unterstützten Importe oder Exporte.
  • Die Aliasse appdata und appfolder aus Version 2 heißen in Version 3 jetzt appDataFolder.
  • Die properties-Ressource wurde aus Version 3 entfernt. Die Ressource files enthält das Feld properties mit echten Schlüssel/Wert-Paaren. Das Feld properties enthält öffentliche Properties und das Feld appProperties private Properties. Das Sichtbarkeitsfeld ist daher nicht erforderlich.
  • Im Feld modifiedTime der Ressource files wird das Datum der letzten Änderung der Datei angezeigt. In Version 2 konnte das Feld modifiedDate nur dann beim Aktualisieren geändert werden, wenn Sie das Feld setModifiedDate festgelegt hatten.
  • Das Feld viewedByMeTime in der Ressource files wird nicht automatisch aktualisiert.
  • Wenn Sie Google Docs-Formate importieren möchten, legen Sie das entsprechende ZielmimeType im Ressourcentext fest. In Version 2 legen Sie ?convert=true fest.
  • Bei Importvorgängen wird der Fehler 400 zurückgegeben, wenn das Format nicht unterstützt wird.
  • Leser und Kommentatoren können Berechtigungen nicht sehen.
  • Der Alias me für Berechtigungen wird entfernt.
  • Einige Funktionen waren als Teil der Anfrageressource verfügbar, sind jetzt aber als Anfrageparameter 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

Die Feld- und Parameternamen unterscheiden sich in Version 3. Beispiele:

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