Modèle de données de l'API Drive Activity

Ce guide décrit les principaux composants d'une réponse dans l'API Google Drive Activity, montrant des exemples et comment les interpréter.

Objets

  • DriveActivity : il s'agit la ressource principale renvoyée par les requêtes à l'API Drive Activity. Il décrit un ou plusieurs acteurs effectuant une ou plusieurs actions affectant un ou plus de cibles.

  • Timestamp et TimeRange : ces décrivent, respectivement, soit un moment précis où l'activité qui s'est produite, ou le début et la fin de l'activité sur une période de en temps réel.

  • Actor : généralement, Actor est un utilisateur final. Cependant, un événement système peut parfois déclencher Action lorsqu'un administrateur agit en tant que en tant que personne, ou lorsqu'elle est effectuée par une personne non identifiable. La Le message Actor encapsule chacun de ces cas.

  • Target : Target correspond à l'objet. d'une activité, comme un fichier, un dossier, un Drive partagé ou un commentaire sur un fichier. Notez que de nombreux types d'actions sont compatibles avec plusieurs types de cibles. Pour Par exemple, bien que Edit s'applique généralement aux fichiers Drive, les autres actions comme Rename et Create peuvent aussi s'appliquer à Drive dossiers et Drive partagés. Cibles qui ne sont pas des éléments Drive peuvent toujours faire référence à l'un d'entre eux, comme le dossier racine d'un disque ou le dossier document contenant un commentaire sur un fichier.

  • Action : chaque DriveActivity la ressource a une ou plusieurs actions associées. Un Action est autonome, comme un événement, en ce sens qu'il comprend non seulement le type détaillé et les informations sur l'action, mais aussi un Actor, un Target et soit Timestamp ou TimeRange. Pour éviter toute redondance, une Action ne remplit pas sa propre Target, Actor ou champs de temps s'ils sont identiques au champ DriveActivity

  • ActionDetail : il s'agit du un type spécifique et des informations détaillées sur un Action. Par exemple, un Les détails de l'action Move comportent des emplacements source et de destination, ainsi qu'une PermissionChange spécifie qui peut désormais accéder à un document et avec quoi. de droits.

Exemples de réponses

Un utilisateur a modifié un fichier dans Drive:

Une ressource DriveActivity simple peut inclure une seule action, telle qu'un utilisateur modifier 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 les API People pour en savoir plus.
  • ITEM_ID: ID de l'élément Drive.
  • TITLE: titre de l'élément Drive.

Notez que Action dans cette réponse n'inclut pas les éléments Actor, Target, ou TimeStamp, car ils sont identiques au DriveActivity global.

Deux utilisateurs ont modifié le même fichier au même moment:

Lorsque le regroupement est activé, les actions associées sont regroupées en une seule DriveActivity Dans cet exemple, deux actions similaires sont regroupées: une 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. Il peut être utilisé avec l'API People pour en savoir plus.
  • 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 Target, car il est identique au 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é au cours d'une période donnée.

Un utilisateur a déplacé deux fichiers dans un nouveau répertoire:

Dans cet exemple, la stratégie de consolidation a regroupé 2 actions Move associées car les fichiers ont été déplacés de la même source vers la même destination au 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 les API People pour en savoir plus.
  • 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 à la DriveActivity globale.