Vergleich der Drive APIs Version 2 und Version 3

Die aktuelle Version der Google Drive API ist v3. Die Leistung in v3 ist besser, da bei Suchanfragen nur eine Teilmenge der Felder zurückgegeben wird. Verwenden Sie die aktuelle Version, es sei denn, Sie benötigen die v2 Sammlung. Wenn Sie v2 verwenden, sollten Sie zu v3 migrieren. Informationen zur Migration finden Sie unter Zu 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 v2 weiterhin verwenden möchten, finden Sie im Leitfaden zur Änderung der Drive API v2 Informationen dazu, wie einige Anleitungen in den v3 Leitfäden für v2-Entwickler 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 in v3

Zur Optimierung der Leistung und zur Reduzierung der Komplexität des API-Verhaltens bietet v3 die folgenden Verbesserungen gegenüber der vorherigen API-Version:

  • Bei Suchanfragen 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, siehe die files.list Methode und die 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 wurden sie aus v3 entfernt.
    • Die Methoden Realtime.* wurden entfernt.
  • App-Daten werden bei Suchanfragen standardmäßig nicht zurückgegeben. In v2 können Sie den drive.appdata Bereich festlegen. Dadurch werden Anwendungsdaten aus der files.list Methode und der changes.list Methode zurückgegeben, was jedoch die Leistung beeinträchtigt. In v3 legen Sie den Bereich drive.appdata fest und legen außerdem den Abfrageparameter spaces=appDataFolder fest, um Anwendungsdaten anzufordern.
  • Bei allen Aktualisierungsvorgängen wird PATCH anstelle von PUT verwendet.
  • Verwenden Sie die files.export Methode, um Google-Dokumente zu exportieren.
  • Das Verhalten der Methode changes.list ist anders. Verwenden Sie anstelle von Änderungs-IDs undurchsichtige Seitentokens. Um die Sammlung der Änderungen abzufragen, rufen Sie zuerst die changes.getStartPageToken Methode für den Anfangswert auf. 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 Ressource about in v2 sind Listen zulässiger Import- oder Exportformate. In v3 sind es MIME-Typ-Zuordnungen möglicher Ziele für alle unterstützten Importe oder Exporte.
  • Die Aliase appdata und appfolder in v2 sind jetzt appDataFolder in v3.
  • Die Ressource properties wurde aus v3 entfernt. Die files Ressource enthält das properties Feld , das echte Schlüssel/Wert-Paare enthält. Das Feld properties enthält öffentliche Attribute und das Feld appProperties private Attribute. Daher ist das Feld für die Sichtbarkeit nicht erforderlich.
  • Das Feld modifiedTime in der Ressource files wird aktualisiert, wenn die Datei zuletzt 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.
  • Wenn Sie Google Docs-Formate importieren möchten, legen Sie den entsprechenden Ziel-mimeType im Ressourcentext fest. In v2 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 ansehen.
  • Der Alias me für Berechtigungen wurde entfernt.
  • Einige Funktionen waren als Teil der Anforderungsressource verfügbar, sind aber stattdessen als Anforderungsparameter verfügbar. Beispiele:
    • In v2 können Sie mit children.delete eine untergeordnete Datei aus einem übergeordneten Ordner entfernen.
    • In v3 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 v3. Beispiele:

  • Die Property name ersetzt title in der Ressource files.
  • Time ist das Suffix für alle Datums- und Zeitfelder anstelle von Date.
  • Bei Listenvorgängen wird das Feld items nicht verwendet, um das Ergebnisset zu enthalten. Der Ressourcentyp bietet ein Feld für die Ergebnisse (z. B. files oder changes).