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.