Von Drive Activity API v1 migrieren

In diesem Leitfaden werden die Unterschiede zwischen der Google Drive Activity API Version 1 und Version 2 der Google Drive Activity API erläutert. Außerdem erfahren Sie, wie Sie Ihre Anwendung der Version 1 so ändern, dass sie Version 2 der API unterstützt.

Autorisierung

Dieser Bereich wurde von der API V1 verwendet:

  • https://www.googleapis.com/auth/activity

Für die API V2 ist einer der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

Ressourcennamen

In der API v1 waren Kennungen für Objekte wie Google Drive-Elemente und Nutzer intransparente Strings. In der API V2 werden diese Objekte normalerweise über Ressourcennamen referenziert. Weitere Informationen finden Sie in der Designanleitung für die Cloud API.

Diese Kennungen können in der Regel konvertiert werden. Beispielsweise wird auf Drive-Elemente in der API V2 mit dem Ressourcennamen items/ITEM_ID_V1 verwiesen.

Anfragen

Das Anfrageformat für v2 ähnelt dem von v1. Insbesondere können Sie weiterhin Aktivitäten für eine Drive-Datei oder einen Drive-Ancestor anfordern. Sie müssen diese Anfrageparameter jedoch als Ressourcennamen formatieren, indem Sie ihnen items/ voranstellen.

„Gruppierung“ heißt jetzt Konsolidierung und die Anfrageparameter source und userId wurden entfernt.

Außerdem gibt es neue Filteroptionen, mit denen Sie die in der Antwort zurückgegebenen Typen von Aktivitätsdaten einschränken können.

Aktionen

In der v1 API befanden sich der Aktivitätstyp und die mit dieser Aktivität verknüpften Daten in separaten Feldern. Wenn beispielsweise das Feld primaryEventType den Wert move enthält, gehen Anwendungen davon aus, dass das übergeordnete Feld move mit den hinzugefügten und entfernten übergeordneten Elementen gefüllt ist.

In Version 2 der API sind diese Felder nicht mehr unterschiedlich. Für die ActionDetail-Nachricht ist genau ein Feld festgelegt. Er bezeichnet den Aktionstyp und enthält die mit dieser Aktion verknüpften Details. Ein ActionDetail, das eine Verschiebung darstellt, legt beispielsweise nur das Feld move fest und dieses Feld listet die hinzugefügten und entfernten übergeordneten Elemente auf.

Das Feld primaryEventType der API V1 entspricht ungefähr dem Feld primaryActionDetail der API V2.

Actors

In der API V1 enthielt die zurückgegebene Aktivität ein User, wenn der Akteur ein bekannter Nutzer war, und optional ein Feld der obersten Ebene wie fromUserDeletion für Sonderfälle.

In der API v2 stehen mehr Actor-Typen zur Verfügung. user.knownUser wird ausgefüllt, wenn der Akteur ein bekannter Nutzer ist. Wenn Ihre Anwendung detaillierte Informationen zu Nutzern benötigt, kann sie diese über die People API abfragen. Dazu wird das Feld KnownUser personName an die Methode people.get übergeben.

Ziele

In der API v1 waren die Ziele immer Drive-Elemente. In der API v2 können Ziele andere Objekttypen in Drive sein. Beispielsweise haben Änderungen an einem Laufwerk den Zieltyp Drive. Der Stammordner einer geteilten Ablage wird zwar weiterhin als DriveItem im Feld root zurückgegeben, ist aber nicht das unmittelbare Ziel der Aktivität. Ein ähnliches Konzept gilt für eine FileComment-Ressource, deren Feld parent sich auf das Drive-Element bezieht, das den Zielkommentar-Thread enthält.

Konsolidierte Aktivität

In der v1 API hat sich der Antwortstil geändert, als eine Konsolidierungsstrategie festgelegt wurde. Genauer gesagt enthielt jede Aktivität, wenn die Konsolidierung aktiviert war, die jeweils enthaltene singleEvents und einen combinedEvent, in denen die gemeinsamen Aktivitäten dieser einzelnen Ereignisse zusammengefasst sind. Als die Konsolidierung deaktiviert war, enthielt das Feld combinedEvent für jede Aktivität das ursprüngliche nicht konsolidierte Ereignis. Jedes dieser Ereignisse kann mehr als eine Aktion darstellen, z. B. "create" und "share".

In der API V2 ändert sich der Antwortstil nicht basierend auf der Konsolidierungsstrategie, da der zurückgegebene DriveActivity immer alle Akteure, Ziele und Aktionen enthält.