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 diefiles.listMethode und diedrives.listMethode. - 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 wurden sie aus v3 entfernt. - Die Methoden
Realtime.*wurden entfernt.
- Die Methode
- App-Daten werden bei Suchanfragen standardmäßig nicht zurückgegeben. In v2 können Sie den
drive.appdataBereich festlegen. Dadurch werden Anwendungsdaten aus derfiles.listMethode und derchanges.listMethode zurückgegeben, was jedoch die Leistung beeinträchtigt. In v3 legen Sie den Bereichdrive.appdatafest und legen außerdem den Abfrageparameterspaces=appDataFolderfest, um Anwendungsdaten anzufordern. - Bei allen Aktualisierungsvorgängen wird PATCH anstelle von PUT verwendet.
- Verwenden Sie die
files.exportMethode, um Google-Dokumente zu exportieren. - Das Verhalten der Methode
changes.listist anders. Verwenden Sie anstelle von Änderungs-IDs undurchsichtige Seitentokens. Um die Sammlung der Änderungen abzufragen, rufen Sie zuerst diechanges.getStartPageTokenMethode für den Anfangswert auf. Bei nachfolgenden Abfragen gibt die Methodechanges.listden WertnewStartPageTokenzurück. - Aktualisierungsmethoden lehnen jetzt Anfragen ab, in denen nicht beschreibbare Felder angegeben sind.
- Die Felder
exportFormatsundimportFormatsder Ressourceaboutin 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
appdataundappfolderin v2 sind jetztappDataFolderin v3. - Die Ressource
propertieswurde aus v3 entfernt. DiefilesRessource enthält daspropertiesFeld , das echte Schlüssel/Wert-Paare enthält. Das Feldpropertiesenthält öffentliche Attribute und das FeldappPropertiesprivate Attribute. Daher ist das Feld für die Sichtbarkeit nicht erforderlich. - Das Feld
modifiedTimein der Ressourcefileswird aktualisiert, wenn die Datei zuletzt geändert wurde. In v2 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 den entsprechenden Ziel-
mimeTypeim Ressourcentext fest. In v2 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 ansehen.
- Der Alias
mefü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.deleteeine untergeordnete Datei aus einem übergeordneten Ordner entfernen. - In v3 verwenden Sie
files.updatefür das untergeordnete Element mit?removeParents=parent_idin der URL.
- In v2 können Sie mit
Weitere Unterschiede
Die Feld- und Parameternamen unterscheiden sich in v3. Beispiele:
- Die Property
nameersetzttitlein der Ressourcefiles. Timeist das Suffix für alle Datums- und Zeitfelder anstelle vonDate.- Bei Listenvorgängen wird das Feld
itemsnicht verwendet, um das Ergebnisset zu enthalten. Der Ressourcentyp bietet ein Feld für die Ergebnisse (z. B.filesoderchanges).