Die aktuelle Google Drive API-Version 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. Dort erfahren Sie, wie einige Anleitungen in den Version 3-Leitfäden für Entwickler, die Version 2 verwenden, angepasst 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
fieldsfinden Sie in der Methodefiles.listund der Methodedrives.list. - Für fast alle Methoden, die eine Antwort zurückgeben, ist jetzt der Parameter
fieldserforderlich. Eine Liste aller Methoden, für diefieldserforderlich ist, finden Sie in der Drive API-Referenz. - Ressourcen mit doppelten Funktionen wurden entfernt. Beispiele:
- Die Methode
files.listbietet dieselbe Funktionalität wie die SammlungenChildrenundParents. Daher werden sie aus Version 3 entfernt. - Die
Realtime.*-Methoden wurden entfernt.
- Die Methode
- App-Daten werden standardmäßig nicht in Suchergebnissen zurückgegeben. In Version 2 können Sie den Bereich
drive.appdatafestlegen. Die Methode gibt Anwendungsdaten aus der Methodefiles.listund der Methodechanges.listzurück, was jedoch die Leistung verlangsamt. In Version 3 legen Sie den Bereichdrive.appdatafest und legen außerdem den Abfrageparameterspaces=appDataFolderfest, 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.listist anders. Verwenden Sie anstelle von Änderungs-IDs undurchsichtige Seitentokens. Rufen Sie zuerst die Methodechanges.getStartPageTokenauf, um den Anfangswert abzurufen. Bei nachfolgenden Abfragen gibt die Methodechanges.listden WertnewStartPageTokenzurück. - Aktualisierungsmethoden lehnen jetzt Anfragen ab, in denen nicht beschreibbare Felder angegeben sind.
- Die Felder
exportFormatsundimportFormatsder Version 2 in der Ressourceaboutsind 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
appdataundappfoldersind in v3 jetztappDataFolder. - Die Ressource
propertieswird aus Version 3 entfernt. Die Ressourcefileshat das Feldproperties, das tatsächliche Schlüssel/Wert-Paare enthält. Das Feldpropertiesenthält öffentliche Properties und das FeldappPropertiesprivate Properties. Das Sichtbarkeitsfeld ist daher nicht erforderlich. - Das Feld
modifiedTimein der Ressourcefileswird aktualisiert, wenn die Datei zuletzt geändert wurde. In Version 2 konnte das FeldmodifiedDatenur bei der Aktualisierung geändert werden, wenn Sie das FeldsetModifiedDatefestgelegt haben. - Das Feld
viewedByMeTimein der Ressourcefileswird nicht automatisch aktualisiert. - Wenn Sie Google Docs-Formate importieren möchten, legen Sie das entsprechende Ziel-
mimeTypeim Ressourcen-Body fest. In Version 2 legen Sie?convert=truefest. - 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
mefü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.deleteeine untergeordnete Datei aus einem übergeordneten Ordner entfernen. - In Version 3 verwenden Sie
files.updatefür das untergeordnete Element mit?removeParents=parent_idin der URL.
- In Version 2 können Sie mit
Weitere Unterschiede
Felder und Parameternamen sind in Version 3 unterschiedlich. Beispiele:
- Das Attribut
nameersetzttitlein der Ressourcefiles. Timeist das Suffix für alle Datums- und Zeitfelder anstelle vonDate.- Bei Listenoperationen wird das Feld
itemsnicht verwendet, um die Ergebnismenge zu enthalten. Der Ressourcentyp enthält ein Feld für die Ergebnisse (z. B.filesoderchanges).