In diesem Leitfaden werden die Hauptkomponenten einer Antwort in der Google Drive Activity API erläutert. Außerdem finden Sie Beispiele und Informationen zur Interpretation.
Objekte
DriveActivity
: Dies ist die primäre Ressource, die von Abfragen an die Drive Activity API zurückgegeben wird. Sie beschreibt eine oder mehrere Akteure, die eine oder mehrere Aktionen ausführen, die sich auf ein oder mehrere Ziele auswirken.Timestamp
undTimeRange
: Mit diesen Ereignissen wird jeweils ein einzelner Zeitpunkt beschrieben, zu dem eine Aktivität stattgefunden hat, oder der Beginn und das Ende eines Zeitraums, in dem die Aktivität stattgefunden hat.Actor
: In der Regel ist einActor
ein Endnutzer. Manchmal kann ein Systemereignis jedoch eineAction
auslösen, wenn ein Administrator als Nutzer oder in seiner eigenen Rolle agiert oder wenn die Aktion von einer nicht identifizierbaren Person ausgeführt wird. DieActor
-Nachricht umschließt jeden dieser Fälle.Target
: EinTarget
ist das Objekt einer Aktivität, z. B. eine Datei, ein Ordner, eine geteilte Ablage oder ein Dateikommentar. Viele Aktionstypen unterstützen mehrere Zieltypen.Edit
gilt beispielsweise allgemein für Drive-Dateien, aber auch andere Aktionen wieRename
undCreate
können auf Drive-Ordner und geteilte Ablagen angewendet werden. Ziele, die keine Drive-Elemente sind, können sich dennoch auf ein Drive-Element beziehen, z. B. auf den Stammordner einer Drive-Aufbewahrungsstelle oder das übergeordnete Dokument, das einen Dateikommentar enthält.Action
: JedeDriveActivity
-Ressource hat eine oder mehrere zugehörige Aktionen. EinAction
ist wie ein Ereignis in sich geschlossen. Es enthält nicht nur den detaillierten Typ und Informationen zur Aktion, sondern auch einActor
, einTarget
und entweder einTimestamp
oderTimeRange
. Um Redundanzen zu vermeiden, werden in einerAction
keine eigenen Felder fürTarget
,Actor
oder Zeit angegeben, wenn diese mit den Feldern der gesamtenDriveActivity
übereinstimmen.ActionDetail
: Dies ist der spezifische Typ und detaillierte Informationen zu einerAction
. EinMove
-Aktionshinweis enthält beispielsweise einen Quell- und einen Zielspeicherort und einPermissionChange
gibt an, wer jetzt mit welchen Berechtigungen auf ein Dokument zugreifen kann.
Beispielantworten
Ein Nutzer hat eine Datei in Drive bearbeitet:
Eine einfache DriveActivity
-Ressource kann nur eine Aktion enthalten, z. B. wenn ein Nutzer eine Datei bearbeitet.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
Diese Ausgabe enthält die folgenden Werte:
- ACCOUNT_ID: die ID des Nutzers. Sie kann mit der People API verwendet werden, um weitere Informationen zu erhalten.
- ITEM_ID: die ID des Drive-Elements.
- TITLE: der Titel des Drive-Elements.
Beachten Sie, dass die Action
in dieser Antwort keine Actor
, Target
oder TimeStamp
enthält, da sie mit der GesamtDriveActivity
übereinstimmen.
Zwei Nutzer haben dieselbe Datei ungefähr zur selben Zeit bearbeitet:
Wenn die Zusammenführung aktiviert ist, werden ähnliche Aktionen in einer einzigen DriveActivity
zusammengefasst. In diesem Beispiel sind zwei ähnliche Aktionen gruppiert: ein Edit
-Aktionstyp von zwei verschiedenen Nutzern.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"time_range":{
"start_time":{ "seconds":"1541089823", "nanos":712000000 },
"end_time":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
Diese Ausgabe enthält die folgenden Werte:
- ACCOUNT_ID_1: die ID des ersten Nutzers. Sie kann mit der Personen API verwendet werden, um weitere Informationen zu erhalten.
- ACCOUNT_ID_2: die ID des zweiten Nutzers.
- ITEM_ID: die ID des Drive-Elements.
- TITLE: der Titel des Drive-Elements.
Die Aktionen in dieser Antwort enthalten keine Target
, da sie mit der Gesamt-DriveActivity
identisch ist.
Das Beispiel zeigt auch, wie Apps nur die Zusammenfassungsinformationen in DriveActivity
verwenden, ohne sich die einzelnen Aktionen anzusehen. Die Antwort gibt an, dass zwei Nutzer eine bestimmte Datei über einen bestimmten Zeitraum bearbeitet haben.
Ein Nutzer hat zwei Dateien in ein neues Verzeichnis verschoben:
In diesem Beispiel wurden mit der Zusammenführungsstrategie zwei ähnliche Move
-Aktionen gruppiert, da die Dateien gleichzeitig von derselben Quelle an denselben Zielort verschoben wurden.
"activities":[{
"primary_action_detail":{
"move":{
"added_parents":[ { ... } ]
"removed_parents":[ { ... } ]
}
},
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
Diese Ausgabe enthält die folgenden Werte:
- ACCOUNT_ID: die ID des Nutzers. Sie kann mit der People API verwendet werden, um weitere Informationen zu erhalten.
- ITEM_ID_1: die ID des ersten Drive-Elements.
- ITEM_ID_2: die ID des zweiten Drive-Elements.
- TITLE_1: der Titel des ersten Drive-Elements.
- TITLE_2: Der Titel des zweiten Drive-Elements.
Die Aktionen in dieser Antwort enthalten weder Actor
noch TimeStamp
, da sie mit der Gesamtzahl DriveActivity
übereinstimmen.