Este guia explica as diferenças entre a API Google Drive Activity v1 e v2 e como mudar seu aplicativo v1 para oferecer suporte à API v2.
Autorização
A API v1 usava 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 e usuários do Google Drive eram strings opacas. Na API v2, esses objetos geralmente são referenciados usando nomes de recursos. Para mais informações, consulte o Guia de design da API Cloud.
Esses identificadores geralmente podem ser convertidos. Por exemplo, os itens do Drive
na API v2 são referenciados usando o nome do recurso
items/ITEM_ID_V1
.
Solicitações
O formato da solicitação para a v2 é semelhante ao da v1. Especificamente, ainda é possível
solicitar atividade para um arquivo do Drive ou um ancestral
do Drive, mas é necessário formatar esses parâmetros de solicitação como nomes de
recurso prefixando-os com items/
.
"Agrupamento" agora é chamado de
Consolidação, e os parâmetros de solicitação source
e
userId
foram removidos.
Também há novas opções de filtro 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 ela
estavam em campos separados. Por exemplo, se o campo primaryEventType
continha
o valor move
, os apps presumiam que um campo move
de nível superior estava
preenchido com os pais adicionados e removidos.
Na API v2, esses campos não são mais distintos. A mensagem
ActionDetail
tem exatamente um campo definido. Ele indica o tipo de ação e contém os detalhes associados a ela. Por exemplo, um ActionDetail
que representa
uma mudança só define o campo move
, e esse campo 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 rico de
tipos Actor
está
disponível, e user.knownUser
é preenchido quando o ator é um usuário conhecido. Se
o app precisar de informações detalhadas sobre os usuários, ele poderá fazer uma consulta
na API People transmitindo o campo KnownUser
personName
para
o método people.get
.
Destinos
Na API v1, os destinos eram sempre itens do Drive. Na API v2,
os destinos podem ser outros tipos de objetos no Drive. Por exemplo,
as mudanças em uma unidade têm um tipo de destino de
Drive
. A pasta raiz
de um drive compartilhado ainda é retornada (como um
DriveItem
no
campo root
), mas não é o destino imediato da atividade. Um conceito
semelhante se aplica a um recurso
FileComment
, cujo campo parent
se refere ao item do Drive
que contém a linha de comentários de destino.
Atividade consolidada
Na API v1, o estilo da resposta mudava quando uma estratégia de consolidação ("agrupamento") era definida. Especificamente, quando a consolidação era ativada, cada atividade
continha o singleEvents
e um combinedEvent
que resumia
a atividade comum entre esses eventos. Quando a consolidação estava
desativada, o campo combinedEvent
continha o evento original não consolidado
para cada atividade. Qualquer um desses eventos pode representar mais de uma ação, como uma criação com um compartilhamento.
Na API v2, o estilo da resposta não muda com base na estratégia de consolidação,
porque o
DriveActivity
retornado sempre contém o conjunto completo de atores, destinos e ações.