Este guia explica as diferenças entre a API Google Drive Activity v1 e v2 e como alterar seu aplicativo v1 para que ele seja compatível com a API v2.
Autorização
A API v1 usou este escopo:
https://www.googleapis.com/auth/activity
A API v2 requer um dos seguintes escopos:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
Nomes de recursos
Na API v1, os identificadores de objetos como itens do Google Drive e usuários eram strings opacas. Na API v2, esses objetos são normalmente referenciados usando nomes de recursos. Para mais informações, consulte o Guia de design da API do Cloud.
Esses identificadores geralmente podem ser convertidos. Por exemplo, os itens do Drive na API v2 são referenciados usando o nome de recurso items/ITEM_ID_V1
.
Pedidos
O formato da solicitação da v2 é semelhante ao da v1. Especificamente, ainda é possível
solicitar atividades para um arquivo ou um ancestral do Drive.
No entanto, você precisa formatar esses parâmetros de solicitação como nomes
de recursos usando o prefixo items/
.
O "agrupamento" agora é chamado de
Consolidação, e os parâmetros de solicitação source
e
userId
foram removidos.
Há também novas opções de Filter que permitem restringir os tipos de dados de atividade retornados na resposta.
Ações
Na API v1, o tipo de atividade e os dados associados a essa atividade estavam em campos separados. Por exemplo, se o campo primaryEventType
contivesse
o valor move
, os apps considerariam que um campo move
de nível superior é
preenchido com os pais adicionados e removidos.
Na API v2, esses campos não são mais distintos. A mensagem
ActionDetail
tem exatamente um conjunto de campos. Ela indica o tipo de ação e contém os detalhes associados a ela. Por exemplo, um ActionDetail
que representa
uma mudança define apenas o campo move
, que lista os pais adicionados e
removidos.
O campo primaryEventType
da API v1 corresponde aproximadamente ao primaryActionDetail
da v2.
Actors
Na API v1, a atividade retornada continha um User
se o ator fosse um usuário conhecido e, opcionalmente, um campo de nível superior, como fromUserDeletion
para casos especiais.
Na API v2, um conjunto mais completo de
tipos de Actor
está
disponível, e user.knownUser
é preenchido quando o ator é um usuário conhecido. Se
o aplicativo precisar de informações detalhadas sobre os usuários, ele poderá consultá-lo na
API People transmitindo o campo KnownUser
personName
para
o método people.get
.
Alvos
Na API v1, os destinos sempre foram itens do Drive. Na API v2, os destinos podem ser outros tipos de objetos no Drive. Por exemplo,
mudanças em um drive têm um tipo de destino de
Drive
. A pasta raiz
de um drive compartilhado ainda é retornada como
DriveItem
no campo
root
, mas não é o destino imediato da atividade. Um conceito
semelhante se aplica a um recurso
FileComment
, com um campo parent
que se refere ao item do Drive
que contém a conversa de comentários de destino.
Atividade consolidada
Na API v1, o estilo de resposta mudava quando uma estratégia de consolidação ("agrupamento") era definida. Especificamente, quando a consolidação foi ativada, cada atividade
continha o singleEvents
constituinte e um combinedEvent
que resumia
a atividade comum entre esses eventos constituintes. Quando a consolidação era
desativada, o campo combinedEvent
continha o evento não consolidado original
de cada atividade. Qualquer um desses eventos pode representar mais de uma ação, como uma criação e um compartilhamento.
Na API v2, o estilo de resposta não muda com base na estratégia
de consolidação, já que a
DriveActivity
retornada sempre contém o conjunto completo de atores, alvos e ações.