Von Drive Activity API v1 migrieren

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

Autorisierung

Für die V1 API wurde dieser Umfang verwendet:

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

Für die V2 API 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-Version 1 waren Kennungen für Objekte wie Google Drive-Elemente und Nutzer nicht lesbare Strings. In der V2 API werden diese Objekte in der Regel über Ressourcennamen referenziert. Weitere Informationen finden Sie im Leitfaden zum Design von Cloud APIs.

Diese IDs können in der Regel konvertiert werden. Auf Drive-Elemente in der V2 API wird beispielsweise mit dem Ressourcennamen items/ITEM_ID_V1 verwiesen.

Anfragen

Das Anfrageformat für Version 2 ähnelt dem von Version 1. Sie können weiterhin Aktivitäten für eine Drive-Datei oder einen Drive-Vorgänger anfordern. Beachten Sie jedoch, dass Sie diese Anfrageparameter als Ressourcennamen formatieren müssen, indem Sie ihnen das Präfix items/ voranstellen.

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

Außerdem gibt es neue Filter, mit denen Sie die Arten von Aktivitätsdaten einschränken können, die in der Antwort zurückgegeben werden.

Aktionen

In der v1 API waren der Aktivitätstyp und die zugehörigen Daten in separaten Feldern enthalten. Wenn das Feld primaryEventType beispielsweise den Wert move enthält, gehen Apps davon aus, dass ein Feld move der obersten Ebene mit den hinzugefügten und entfernten übergeordneten Elementen ausgefüllt ist.

In der v2 API sind diese Felder nicht mehr voneinander getrennt. In der ActionDetail-Nachricht ist genau ein Feld festgelegt. Er gibt den Aktionstyp an und enthält die zugehörigen Details. Ein ActionDetail, das eine Verschiebung darstellt, setzt beispielsweise nur das Feld move. In diesem Feld werden die hinzugefügten und entfernten übergeordneten Elemente aufgeführt.

Das Feld primaryEventType der v1 API entspricht ungefähr dem Feld primaryActionDetail der v2 API.

Actors

In der v1 API enthielt die zurückgegebene Aktivität ein User, wenn es sich bei dem Akteur um einen bekannten Nutzer handelte, und optional ein Feld auf oberster Ebene wie fromUserDeletion für Sonderfälle.

In der V2 API ist eine größere Auswahl an Actor-Typen verfügbar. user.knownUser wird ausgefüllt, wenn der Akteur ein bekannter Nutzer ist. Wenn Ihre Anwendung detaillierte Informationen zu Nutzern benötigt, können Sie diese über die People API abfragen, indem Sie das Feld KnownUser personName an die Methode people.get übergeben.

Ziele

In der v1 API waren Ziele immer Drive-Elemente. In der API 2 können Ziele auch andere Arten von Objekten in Drive sein. Änderungen an einem Laufwerk haben beispielsweise den Zieltyp Drive. Der Stammordner einer geteilten Ablage wird weiterhin zurückgegeben (als DriveItem im Feld root), ist aber nicht das unmittelbare Ziel der Aktivität. Ein ähnliches Konzept gilt für eine FileComment-Ressource, deren parent-Feld auf das Drive-Element verweist, das den Zielkommentarstrang enthält.

Konsolidierte Aktivität

In der API-Version 1 hat sich der Antwortstil geändert, wenn eine Konsolidierungsstrategie („grouping“) festgelegt wurde. Wenn die Zusammenführung aktiviert war, enthielt jede Aktivität die zusammengesetzten singleEvents und combinedEvent, die die gemeinsame Aktivität dieser zusammengesetzten Ereignisse zusammenfassten. Wenn die Konsolidierung deaktiviert war, enthielt das Feld combinedEvent das ursprüngliche nicht konsolidierte Ereignis für jede Aktivität. Jedes dieser Ereignisse kann mehrere Aktionen darstellen, z. B. „Erstellen“ und „Teilen“.

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