Questa guida illustra i componenti principali di una risposta nell'API Google Drive Activity, mostrando esempi e come interpretarli.
Oggetti
DriveActivity
: si tratta della risorsa principale restituita dalle query all'API Drive Activity. descrive uno o più attori che eseguono una o più azioni che interessano uno o più obiettivi.Timestamp
eTimeRange
: descrivono, rispettivamente, un singolo punto in cui si è verificata l'attività o l'inizio e la fine dell'attività in un determinato periodo di tempo.Actor
: in genere, unActor
è un utente finale. Tuttavia, a volte un evento di sistema può attivare unAction
quando un amministratore agisce come utente o come amministratore stesso oppure quando l'azione viene eseguita da una persona non identificabile. Il messaggioActor
incapsula ciascuno di questi casi.Target
: unTarget
è l'oggetto di un'attività, ad esempio un file, una cartella, un Drive condiviso o un commento su un file. Tieni presente che molti tipi di azioni supportano più di un tipo di target. Ad esempio, anche seEdit
si applica in genere ai file di Drive, altre azioni comeRename
eCreate
possono essere applicate anche alle cartelle di Drive e ai Drive condivisi. I target che non sono elementi di Drive possono comunque farvi riferimento, ad esempio la cartella principale di un drive o il documento principale contenente un commento del file.Action
: ogni risorsaDriveActivity
ha una o più azioni correlate. UnAction
è autonomo, come un evento, in quanto comprende non solo il tipo e le informazioni dettagliate sull'azione, ma anche unActor
, unTarget
e unTimestamp
o unTimeRange
. Per evitare la ridondanza, unAction
non compila i propri campiTarget
,Actor
o di tempo se sono uguali a quelli dell'DriveActivity
complessivo.ActionDetail
: il tipo specifico e le informazioni dettagliate su unAction
. Ad esempio, un dettaglio dell'azioneMove
ha una posizione di origine e di destinazione e unPermissionChange
specifica chi può ora accedere a un documento e con quali privilegi.
Risposte di esempio
Un utente ha modificato un file in Drive:
Una risorsa DriveActivity
semplice può includere una sola azione, ad esempio un utente che modifica un file.
"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":{} } } ]
}]
Questo output include i seguenti valori:
- ACCOUNT_ID: l'ID dell'utente. Può essere utilizzato con l' API People per ottenere ulteriori informazioni.
- ITEM_ID: l'ID dell'elemento di Drive.
- TITLE: il titolo dell'elemento di Drive.
Tieni presente che Action
in questa risposta non include Actor
, Target
o TimeStamp
perché sono uguali al valore complessivo DriveActivity
.
Due utenti hanno modificato lo stesso file in momenti simili:
Quando il consolidamento è attivo, le azioni correlate vengono raggruppate in un'unica DriveActivity
. In questo esempio, vengono raggruppate due azioni simili: un tipo di azione Edit
di due utenti diversi.
"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 }
}
]
}]
Questo output include i seguenti valori:
- ACCOUNT_ID_1: l'ID del primo utente. Può essere utilizzato con l'API People per ottenere ulteriori informazioni.
- ACCOUNT_ID_2: l'ID del secondo utente.
- ITEM_ID: l'ID dell'elemento Drive.
- TITLE: il titolo dell'elemento di Drive.
Tieni presente che le azioni in questa risposta non includono Target
perché è uguale al DriveActivity
complessivo.
L'esempio illustra anche in che modo le app potrebbero utilizzare solo le informazioni di riepilogo in DriveActivity
, senza esaminare le singole azioni. La risposta
indica che 2 utenti hanno modificato un determinato file in un determinato periodo di tempo.
Un utente ha spostato due file in una nuova directory:
In questo esempio, la strategia di consolidamento ha raggruppato due azioni Move
correlate perché i file sono stati spostati contemporaneamente dalla stessa origine alla stessa destinazione.
"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":{} } }
}
]
}]
Questo output include i seguenti valori:
- ACCOUNT_ID: l'ID dell'utente. Può essere utilizzato con l' API People per ottenere ulteriori informazioni.
- ITEM_ID_1: l'ID del primo elemento di Drive.
- ITEM_ID_2: l'ID del secondo elemento di Drive.
- TITLE_1: il titolo del primo elemento di Drive.
- TITLE_2: il titolo del secondo elemento di Drive.
Tieni presente che le azioni in questa risposta non includono Actor
o TimeStamp
perché sono le stesse dell'DriveActivity
complessivo.