Este guia explica os principais componentes de uma resposta na API Google Drive Activity, mostrando exemplos e como interpretá-los.
Objetos
DriveActivity
: é o recurso principal retornado pelas consultas à API Drive Activity. Ela descreve um ou mais atores que realizam uma ou mais ações que afetam um ou mais alvos.Timestamp
eTimeRange
: descrevem, respectivamente, um único momento em que a atividade ocorreu ou o início e o fim de quando a atividade ocorreu durante um período.Actor
: normalmente, umActor
é um usuário final. No entanto, às vezes, um evento do sistema pode acionar umaAction
quando um administrador está agindo como usuário ou como ele mesmo ou quando realizado por uma pessoa não identificável. A mensagemActor
encapsula cada um desses casos.Target
: umaTarget
é o objeto de uma atividade, como um arquivo, uma pasta, um drive compartilhado ou um comentário de um arquivo. Muitos tipos de ação oferecem suporte a mais de um tipo de destino. Por exemplo, emboraEdit
geralmente se aplique a arquivos do Drive, outras ações comoRename
eCreate
também podem se aplicar a pastas e drives compartilhados do Drive. Os destinos que não são itens do Drive ainda podem se referir a um, como a pasta raiz de um drive ou o documento pai que contém um comentário de arquivo.Action
: cada recursoDriveActivity
tem uma ou mais ações relacionadas. UmAction
é independente, como um evento, porque compreende não apenas o tipo detalhado e as informações sobre a ação, mas também umActor
, umTarget
e umTimestamp
ouTimeRange
. Para evitar redundância, umAction
não preenche os próprios campos deTarget
,Actor
ou de tempo quando eles são iguais aoDriveActivity
geral.ActionDetail
: é o tipo específico e as informações detalhadas sobre umAction
. Por exemplo, um detalhe de açãoMove
tem um local de origem e de destino, e umPermissionChange
especifica quem agora pode acessar um documento e com quais privilégios.
Exemplos de respostas
Um usuário editou um arquivo no Drive:
Um recurso DriveActivity
simples pode incluir apenas uma ação, como um usuário
que edita um arquivo.
"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":{} } } ]
}]
Esta saída inclui os seguintes valores:
- ACCOUNT_ID: o ID do usuário. Ela pode ser usada com a API People para mais informações.
- ITEM_ID: o código do item do Drive.
- TITLE: o título do item do Google Drive.
Observe que o Action
nessa resposta não inclui Actor
, Target
ou TimeStamp
porque eles são iguais ao DriveActivity
geral.
Dois usuários editaram o mesmo arquivo em momentos semelhantes:
Quando a consolidação está ativada, as ações relacionadas são agrupadas em um
DriveActivity
. Neste exemplo, duas ações semelhantes são agrupadas: um tipo Edit
de dois usuários diferentes.
"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 }
}
]
}]
Esta saída inclui os seguintes valores:
- ACCOUNT_ID_1: o ID do primeiro usuário. Ela pode ser usada com a API People para mais informações.
- ACCOUNT_ID_2: o ID do segundo usuário.
- ITEM_ID: o código do item do Drive.
- TITLE: o título do item do Google Drive.
Observe que as ações nessa resposta não incluem Target
porque ele é
igual ao DriveActivity
geral.
O exemplo também ilustra como os apps podem usar apenas as informações de resumo no
DriveActivity
, sem analisar as ações individuais. A resposta indica que dois usuários editaram um determinado arquivo durante um período.
Um usuário moveu dois arquivos para um novo diretório:
Neste exemplo, a estratégia de consolidação agrupou duas ações Move
relacionadas
porque os arquivos foram movidos da mesma origem para o mesmo destino
ao mesmo tempo.
"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":{} } }
}
]
}]
Esta saída inclui os seguintes valores:
- ACCOUNT_ID: o ID do usuário. Ela pode ser usada com a API People para mais informações.
- ITEM_ID_1: o código do primeiro item do Drive.
- ITEM_ID_2: o código do segundo item do Drive.
- TITLE_1: o título do primeiro item do Drive.
- TITLE_2: o título do segundo item do Drive.
As ações nessa resposta não incluem Actor
ou TimeStamp
porque são iguais ao DriveActivity
geral.