Questa guida illustra i componenti principali di una risposta nell'API Google Drive Activity, mostrando esempi e come interpretarli.
Oggetti
DriveActivity
: è la 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ù target.Timestamp
eTimeRange
: descrivono, rispettivamente, un singolo momento in cui si è verificata l'attività o l'inizio e la fine del momento in cui l'attività si è verificata in un intervallo di tempo.Actor
: in genere,Actor
è un utente finale. Tuttavia, a volte un evento di sistema può attivare un eventoAction
quando un amministratore agisce come utente o come se stesso oppure quando viene eseguito da una persona non identificabile. Il messaggioActor
incapsula ciascuno di questi casi.Target
:Target
è l'oggetto di un'attività, ad esempio un file, una cartella, un Drive condiviso o un commento a un file. Tieni presente che molti tipi di azioni supportano più tipi di target. Ad esempio, anche se in genereEdit
si applica ai file di Drive, altre azioni comeRename
eCreate
possono essere applicate anche alle cartelle di Drive e ai Drive condivisi. Le destinazioni che non sono elementi di Drive possono comunque fare riferimento a uno di questi, ad esempio la cartella principale di un Drive o il documento principale contenente un commento al file.Action
: ogni risorsaDriveActivity
ha una o più azioni correlate. Un elementoAction
è autonomo, come un evento, poiché comprende non solo il tipo dettagliato e le informazioni sull'azione, ma ancheActor
,Target
eTimestamp
oTimeRange
. Per evitare ridondanza, un elementoAction
non compila i propri campiTarget
,Actor
o temporali quando questi campi sono uguali a quelli del valoreDriveActivity
complessivo.ActionDetail
: il tipo specifico e le informazioni dettagliate su unAction
. Ad esempio, il dettaglio di un'azioneMove
ha una località di origine e di destinazione, mentre un elementoPermissionChange
specifica chi può ora accedere a un documento e con quali privilegi.
Risposte di esempio
Un utente ha modificato un file su Drive:
Una risorsa DriveActivity
semplice potrebbe includere una sola azione, ad esempio la modifica di un file da parte di un utente.
"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 utilizzata 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 all'DriveActivity
nel complesso.
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 2 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 utilizzata con l'API People per ottenere ulteriori informazioni.
- ACCOUNT_ID_2: l'ID del secondo utente.
- ITEM_ID: l'ID dell'elemento di Drive.
- TITLE: il titolo dell'elemento di Drive.
Tieni presente che le azioni in questa risposta non includono Target
perché è
uguale all'DriveActivity
generale.
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 due utenti hanno modificato un determinato file in un intervallo di tempo.
Un utente ha spostato 2 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 utilizzata 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é corrispondono all'DriveActivity
complessivo.