Ten przewodnik wyjaśnia główne elementy odpowiedzi w interfejsie Google Drive Activity API, pokazując przykłady i sposób ich interpretacji.
Obiekty
DriveActivity
– to podstawowy zasób zwracany przez zapytania do interfejsu Drive Activity API. Opisuje co najmniej 1 aktora wykonującego co najmniej 1 działanie wpływające na co najmniej 1 cel.Timestamp
iTimeRange
– te elementy opisują odpowiednio pojedynczy punkt w czasie, w którym wystąpiła aktywność, lub początek i koniec okresu, w którym wystąpiła aktywność.Actor
– zazwyczajActor
to użytkownik. Czasami jednak zdarza się, że zdarzenie systemowe powodujeAction
, gdy administrator działa jako użytkownik lub jako on sam, albo gdy jest on nierozpoznawalny. WiadomośćActor
obejmuje wszystkie te przypadki.Target
–Target
to obiekt aktywności, na przykład plik, folder, dysk współdzielony lub komentarz do pliku. Pamiętaj, że wiele typów działań obsługuje więcej niż 1 rodzaj docelowego. Na przykład, chociażEdit
dotyczy ogólnie plików na Dysku, inne działania, takie jakRename
iCreate
, mogą również dotyczyć folderów i dysków współdzielonych na Dysku. Docelowe elementy, które nie są elementami Dysku, mogą się do nich odnosić, np. folder główny dysku lub nadrzędny dokument zawierający komentarz do pliku.Action
– każdy zasóbDriveActivity
ma co najmniej 1 powiązane działanie.Action
jest samodzielne, podobnie jak zdarzenie, ponieważ obejmuje nie tylko szczegółowy typ i informacje o działaniu, ale takżeActor
,Target
orazTimestamp
lubTimeRange
. Aby uniknąć powielania, elementAction
nie wypełnia pólTarget
,Actor
ani czasu, jeśli są one takie same jak w przypadku elementuDriveActivity
.ActionDetail
– tutaj znajdziesz szczegółowe informacje oAction
. Na przykład szczegóły działaniaMove
mają lokalizację źródłową i docelową, aPermissionChange
określa, kto ma teraz dostęp do dokumentu i jakie ma uprawnienia.
Przykładowe odpowiedzi
Użytkownik edytował plik na Dysku:
Prosty zasób DriveActivity
może zawierać tylko jedno działanie, np. edytowanie przez użytkownika jednego pliku.
"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":{} } } ]
}]
Dane wyjściowe zawierają te wartości:
- ACCOUNT_ID: identyfikator użytkownika. Możesz go używać z interfejsem People API, aby uzyskać więcej informacji.
- ITEM_ID: identyfikator elementu na Dysku.
- TITLE: tytuł elementu na Dysku.
Pamiętaj, że Action
w tej odpowiedzi nie obejmuje Actor
, Target
ani TimeStamp
, ponieważ są one takie same jak ogólna wartość DriveActivity
.
2 użytkownicy edytowali ten sam plik w podobnym czasie:
Gdy konsolidacja jest włączona, powiązane działania są grupowane w jeden DriveActivity
. W tym przykładzie 2 podobne działania są zgrupowane: jeden typ działania Edit
od 2 różnych użytkowników.
"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 }
}
]
}]
Dane wyjściowe zawierają te wartości:
- ACCOUNT_ID_1: identyfikator pierwszego użytkownika. Możesz go używać z interfejsem People API, aby uzyskać więcej informacji.
- ACCOUNT_ID_2: identyfikator drugiego użytkownika.
- ITEM_ID: identyfikator elementu na Dysku.
- TITLE: tytuł elementu na Dysku.
Pamiętaj, że działania w tej odpowiedzi nie obejmują Target
, ponieważ jest ono takie samo jak ogólne DriveActivity
.
Przykład pokazuje też, jak aplikacje mogą używać tylko informacji podsumowanych w DriveActivity
, bez sprawdzania poszczególnych działań. Odpowiedź wskazuje, że w danym przedziale czasu 2 użytkownicy edytowali dany plik.
Użytkownik przeniósł 2 pliki do nowego katalogu:
W tym przykładzie strategia konsolidacji pogrupowała 2 powiązane działania Move
, ponieważ pliki zostały przeniesione z tego samego źródła do tego samego miejsca docelowego w tym samym czasie.
"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":{} } }
}
]
}]
Dane wyjściowe zawierają te wartości:
- ACCOUNT_ID: identyfikator użytkownika. Możesz go używać z interfejsem People API, aby uzyskać więcej informacji.
- ITEM_ID_1: identyfikator pierwszego elementu na Dysku.
- ITEM_ID_2: identyfikator drugiego elementu na Dysku.
- TITLE_1: tytuł pierwszego elementu na Dysku.
- TITLE_2: tytuł drugiego elementu na Dysku.
Pamiętaj, że działania w tej odpowiedzi nie obejmują Actor
ani TimeStamp
, ponieważ są takie same jak w ogólnym DriveActivity
.