In diesem Leitfaden werden die Hauptkomponenten einer Antwort in der Google Drive Activity API anhand von Beispielen erläutert und es wird erklärt, wie sie zu interpretieren sind.
Objekte
DriveActivity
: Dies ist die primäre Ressource, die von Abfragen an die Drive Activity API zurückgegeben wird. Darin wird ein oder mehrere Akteure beschrieben, die eine oder mehrere Aktionen ausführen, die sich auf ein oder mehrere Ziele auswirken.Timestamp
undTimeRange
: Diese beschreiben entweder einen einzelnen Zeitpunkt, zu dem eine Aktivität aufgetreten ist, oder den Beginn und das Ende, an dem die Aktivität über einen bestimmten Zeitraum hinweg aufgetreten ist.Actor
: In der Regel ist eineActor
ein Endnutzer. Manchmal kann ein Systemereignis jedoch einAction
auslösen, wenn ein Administrator als Nutzer oder selbst bzw. von einer nicht identifizierbaren Person ausgeführt wird. Die NachrichtActor
enthält jeden dieser Fälle.Target
: EinTarget
ist das Objekt einer Aktivität, z. B. eine Datei, ein Ordner, eine geteilte Ablage oder ein Dateikommentar. Beachten Sie, dass viele Aktionstypen mehr als eine Art von Ziel unterstützen. WährendEdit
im Allgemeinen für Drive-Dateien gilt, können andere Aktionen wieRename
undCreate
auch für Drive-Ordner und geteilte Ablagen gelten. Ziele, die keine Drive-Elemente sind, können dennoch auf ein Element verweisen, z. B. auf den Stammordner eines Laufwerks 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, da es nicht nur den detaillierten Typ und die Informationen über die Aktion enthält, sondern auch einActor
, einTarget
und entweder einTimestamp
- oder einTimeRange
-Objekt. Zur Vermeidung von Redundanzen füllt einAction
keine eigenenTarget
-,Actor
- oder Zeitfelder, wenn diese mit der gesamtenDriveActivity
übereinstimmen.ActionDetail
: Dies sind der spezifische Typ und die detaillierten Informationen zu einemAction
. EinMove
-Aktionsdetail hat 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 Google Drive bearbeitet:
Eine einfache DriveActivity
-Ressource kann nur eine Aktion enthalten, z. B. dass 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: ID des Nutzers Sie kann mit der People API verwendet werden, um weitere Informationen abzurufen.
- ITEM_ID: die ID des Drive-Elements
- TITLE: der Titel des Drive-Elements.
Beachten Sie, dass die Action
in dieser Antwort nicht Actor
, Target
oder TimeStamp
enthält, da sie mit der gesamten DriveActivity
identisch sind.
Zwei Nutzer haben dieselbe Datei zu gleichen Zeiten bearbeitet:
Wenn die Konsolidierung aktiviert ist, werden zugehörige Aktionen in einer DriveActivity
zusammengefasst. In diesem Beispiel werden 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 People API verwendet werden, um weitere Informationen abzurufen.
- ACCOUNT_ID_2: ID des zweiten Nutzers
- ITEM_ID: die ID des Drive-Elements
- TITLE: der Titel des Drive-Elements.
In den Aktionen in dieser Antwort ist Target
nicht enthalten, da es mit dem gesamten DriveActivity
identisch ist.
Das Beispiel zeigt auch, wie Anwendungen unter Umständen nur die zusammenfassenden Informationen in DriveActivity
verwenden, ohne die einzelnen Aktionen zu berücksichtigen. 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 gruppiert die Konsolidierungsstrategie zwei zusammengehörige Move
-Aktionen, da die Dateien gleichzeitig von derselben Quelle an dasselbe Ziel 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: ID des Nutzers Sie kann mit der People API verwendet werden, um weitere Informationen abzurufen.
- 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.
Beachten Sie, dass die Aktionen in dieser Antwort Actor
oder TimeStamp
nicht enthalten, da sie mit der gesamten DriveActivity
identisch sind.