Ce guide décrit les principaux composants d'une réponse dans l'API Google Drive Activity, présente des exemples et montre comment les interpréter.
Objets
DriveActivity
: il s'agit de la ressource principale renvoyée par les requêtes adressées à l'API Drive Activity. Il décrit un ou plusieurs acteurs effectuant une ou plusieurs actions affectant une ou plusieurs cibles.Timestamp
etTimeRange
: ces valeurs décrivent respectivement un moment précis où l'activité s'est produite, ou le début et la fin de l'activité au cours d'une période donnée.Actor
: généralement, unActor
est un utilisateur final. Cependant, un événement système peut parfois déclencher une erreurAction
lorsqu'un administrateur agit en tant qu'utilisateur ou en tant qu'utilisateur, ou lorsqu'il est effectué par une personne non identifiable. Le messageActor
encapsule chacun de ces cas.Target
: unTarget
est l'objet d'une activité, comme un fichier, un dossier, un Drive partagé ou un commentaire. Notez que de nombreux types d'actions acceptent plusieurs types de cibles. Par exemple, bien queEdit
s'applique généralement aux fichiers Drive, d'autres actions telles queRename
etCreate
peuvent également s'appliquer aux dossiers Drive et aux Drive partagés. Les cibles qui ne sont pas des éléments Drive peuvent toujours faire référence à un élément, comme le dossier racine d'un disque ou le document parent contenant un commentaire.Action
: chaque ressourceDriveActivity
a une ou plusieurs actions associées. UnAction
est autonome, comme un événement, dans la mesure où il comprend non seulement le type détaillé et les informations sur l'action, mais aussi unActor
, unTarget
, et soit unTimestamp
ou unTimeRange
. Pour éviter toute redondance, uneAction
ne remplit pas ses propres champsTarget
,Actor
ou date s'ils sont identiques à l'ensembleDriveActivity
.ActionDetail
: type spécifique et informations détaillées sur un élémentAction
. Par exemple, un détail d'actionMove
possède un emplacement source et un emplacement de destination, et un élémentPermissionChange
spécifie qui peut désormais accéder à un document et avec quels droits.
Exemples de réponses
Un utilisateur a modifié un fichier dans Drive:
Une ressource DriveActivity
simple peut n'inclure qu'une seule action, par exemple lorsqu'un utilisateur modifie un fichier.
"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":{} } } ]
}]
Ce résultat inclut les valeurs suivantes :
- ACCOUNT_ID: ID de l'utilisateur. Il peut être utilisé avec l' API People pour obtenir plus d'informations.
- ITEM_ID: ID de l'élément Drive.
- TITLE: titre de l'élément Drive.
Notez que l'élément Action
de cette réponse n'inclut pas les éléments Actor
, Target
ou TimeStamp
, car ils sont identiques à l'élément DriveActivity
global.
Deux utilisateurs ont modifié le même fichier à des moments similaires:
Lorsque la consolidation est activée, les actions associées sont regroupées dans un seul DriveActivity
. Dans cet exemple, deux actions similaires sont regroupées: un type d'action Edit
de deux utilisateurs différents.
"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 }
}
]
}]
Ce résultat inclut les valeurs suivantes :
- ACCOUNT_ID_1: ID du premier utilisateur. Elle peut être utilisée avec l'API People pour obtenir plus d'informations.
- ACCOUNT_ID_2: ID du deuxième utilisateur.
- ITEM_ID: ID de l'élément Drive.
- TITLE: titre de l'élément Drive.
Notez que les actions de cette réponse n'incluent pas le Target
, car il est identique à l'élément DriveActivity
global.
L'exemple montre également comment les applications peuvent utiliser uniquement les informations récapitulatives de DriveActivity
, sans examiner les actions individuelles. La réponse indique que deux utilisateurs ont modifié un fichier donné sur une période donnée.
Un utilisateur a déplacé deux fichiers dans un nouveau répertoire:
Dans cet exemple, la stratégie de regroupement a regroupé deux actions Move
associées, car les fichiers ont été déplacés de la même source vers la même destination en même temps.
"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":{} } }
}
]
}]
Ce résultat inclut les valeurs suivantes :
- ACCOUNT_ID: ID de l'utilisateur. Il peut être utilisé avec l' API People pour obtenir plus d'informations.
- ITEM_ID_1: ID du premier élément Drive.
- ITEM_ID_2: ID du deuxième élément Drive.
- TITLE_1: titre du premier élément Drive.
- TITLE_2: titre du deuxième élément Drive.
Notez que les actions de cette réponse n'incluent pas Actor
ni TimeStamp
, car elles sont identiques à l'ensemble DriveActivity
.