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.