Migrar da API Drive Activity v1

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.