En esta guía, se explican los componentes principales de una respuesta en la API de Actividad de Google Drive y se muestran ejemplos y cómo interpretarlos.
Objetos
DriveActivity: Es el recurso principal que muestran las consultas a la API de Drive Activity. Describe uno o más agentes que realizan una o más acciones que afectan a uno o más objetivos.TimestampyTimeRange: Describen, respectivamente, un solo punto en el tiempo en el que ocurrió la actividad o el inicio y el final de la actividad en un período.Actor: Por lo general, unActores un usuario final. Sin embargo, a veces, un evento del sistema puede activar unActioncuando un administrador actúa como un usuario o como él mismo, o cuando lo realiza una persona no identificable. El mensajeActorencapsula cada uno de estos casos.Target: UnTargetes el objeto de una actividad, como un archivo, una carpeta, una unidad compartida o un comentario de archivo. Ten en cuenta que muchos tipos de acciones admiten más de un tipo de objetivo. Por ejemplo, aunqueEditse aplica generalmente a los archivos de Drive, otras acciones, comoRenameyCreate, también se pueden aplicar a las carpetas y unidades compartidas de Drive. Los destinos que no son elementos de Drive pueden hacer referencia a uno, como la carpeta raíz de una unidad o el documento superior que contiene un comentario de archivo.Action: Cada recursoDriveActivitytiene una o más acciones relacionadas. UnActiones independiente, como un evento, ya que incluye no solo el tipo detallado y la información sobre la acción, sino también unActor, unTargety unTimestampoTimeRange. Para evitar la redundancia, unActionno propaga sus propios camposTarget,Actorni de tiempo cuando son los mismos que los delDriveActivitygeneral.ActionDetail: Es el tipo específico y la información detallada sobre unAction. Por ejemplo, un detalle de acciónMovetiene una ubicación de origen y destino, y unPermissionChangeespecifica quién puede acceder a un documento y con qué privilegios.
Respuestas de ejemplo
Revisa lo siguiente para ver respuestas de muestra.
Un usuario editó un archivo en Drive
Un recurso DriveActivity puede incluir solo una acción, como un usuario que edita un archivo.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[ { "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
En esta salida, se incluyen los siguientes valores:
- ACCOUNT_ID: El ID del usuario. Se puede usar con la API de People para obtener más información.
- ITEM_ID: El ID del elemento de Drive.
- TITLE: Es el título del elemento de Drive.
Ten en cuenta que el objeto Action en esta respuesta no incluye Actor, Target ni timestamp porque son iguales que el DriveActivity general.
Dos usuarios editaron el mismo archivo en momentos similares
Cuando se usa un ConsolidationStrategy, las acciones relacionadas se agrupan en un DriveActivity combinado. En este ejemplo, se agrupan dos acciones similares: un tipo de acción Edit de dos usuarios diferentes.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"timeRange":{
"startTime":{ "seconds":"1541089823", "nanos":712000000 },
"endTime":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
En esta salida, se incluyen los siguientes valores:
- ACCOUNT_ID_1: El ID del primer usuario. Se puede usar con la API de People para obtener más información.
- ACCOUNT_ID_2: El ID del segundo usuario.
- ITEM_ID: El ID del elemento de Drive.
- TITLE: Es el título del elemento de Drive.
Ten en cuenta que el objeto Action en esta respuesta no incluye Target porque es el mismo que el DriveActivity general.
El ejemplo también ilustra cómo las apps pueden usar solo la información de resumen en DriveActivity, sin mirar las acciones individuales. La respuesta indica que dos usuarios editaron un archivo determinado durante un período.
Un usuario movió dos archivos a un directorio nuevo
En este ejemplo, ConsolidationStrategy agrupó dos acciones Move relacionadas porque los archivos se movieron de la misma fuente al mismo destino al mismo tiempo.
"activities":[{
"primaryActionDetail":{
"move":{
"addedParents":[ { ... } ]
"removedParents":[ { ... } ]
}
},
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
En esta salida, se incluyen los siguientes valores:
- ACCOUNT_ID: El ID del usuario. Se puede usar con la API de People para obtener más información.
- ITEM_ID_1: Es el ID del primer elemento de Drive.
- ITEM_ID_2: Es el ID del segundo elemento de Drive.
- TITLE_1: Es el título del primer elemento de Drive.
- TITLE_2: Es el título del segundo elemento de Drive.
Ten en cuenta que el objeto Action de esta respuesta no incluye Actor ni timestamp porque son iguales que el DriveActivity general.