Migrar da API Drive Activity v1

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.