Esta página descreve os eventos do Google Drive aos quais seu app pode se inscrever usando a API Google Workspace Events. Depois de decidir quais tipos de eventos você precisa, crie uma assinatura para começar a receber eventos do Drive.
Para saber mais sobre o desenvolvimento de apps para o Drive, consulte a visão geral da API Google Drive.
Eventos do Drive aceitos
Com as assinaturas do Google Workspace, você recebe eventos sobre os seguintes tipos de mudanças no Drive:
- Um arquivo é:
- Adicionado a uma pasta ou drive compartilhado.
- Movido para uma pasta ou drive compartilhado.
- Editado ou teve uma nova revisão enviada por upload.
- Excluído ou removido da lixeira.
- Uma proposta de acesso é criada ou resolvida em um arquivo.
Recursos que podem ser monitorados para eventos
Para receber eventos, especifique um recurso do Drive para monitorar, que é chamado de recurso de destino da assinatura.
A API Google Workspace Events é compatível com os seguintes recursos de destino do Drive:
Recurso de destino | Formato | Limitações (se aplicável) |
---|---|---|
Arquivo |
//drive.googleapis.com/files/FILE
em que FILE é o ID no
nome do recurso
do recurso |
O usuário que autoriza a assinatura precisa ter permissão no arquivo dentro da assinatura em relação ao evento de assinatura. |
Drive compartilhado |
//drive.googleapis.com/drives/DRIVE
em que DRIVE é o ID no nome do recurso do recurso |
A assinatura só recebe eventos de itens no drive compartilhado em que o usuário é membro pela conta do Google Workspace ou Conta do Google. |
Tipos de eventos para criar assinaturas
Ao criar uma assinatura de um recurso do Drive, use o campo
eventTypes[]
para especificar os tipos de eventos que você quer receber. Os tipos de eventos são formatados de acordo com a especificação CloudEvents, como google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Por exemplo, para receber eventos sobre a criação de um arquivo em uma pasta ou unidade
compartilhada, especifique o arquivo como o recurso de destino e o tipo de evento como
google.workspace.drive.file.v3.created
. Para receber eventos sobre a criação de uma proposta de acesso em um arquivo, especifique a proposta de acesso como o recurso de destino e o tipo de evento como google.workspace.drive.accessproposal.v3.created
. Para saber mais sobre como os eventos funcionam, consulte Estrutura dos eventos do Google Workspace.
A tabela a seguir mostra quais tipos de eventos são compatíveis com assinaturas de recursos do Drive:
Tipo de evento | Formato | Dados de recursos | ||
---|---|---|---|---|
Inscrições em arquivos | ||||
Um arquivo é adicionado a uma pasta ou drive compartilhado. |
|
|
||
Um arquivo é movido para uma pasta ou um drive compartilhado. |
|
|
||
Um arquivo é editado ou uma nova revisão é enviada por upload. |
|
|
||
Um arquivo é excluído. |
|
|
||
Um arquivo é movido para a lixeira. |
|
|
||
Um arquivo é removido da lixeira. |
|
|
||
Uma proposta de acesso é criada em um arquivo. |
|
|
||
Uma proposta de acesso é resolvida em um arquivo. |
|
|
||
Assinaturas de drives compartilhados | ||||
Um arquivo é adicionado a uma pasta ou drive compartilhado. |
|
|
||
Um arquivo é movido para uma pasta ou um drive compartilhado. |
|
|
||
Um arquivo é editado ou uma nova revisão é enviada por upload. |
|
|
||
Um arquivo é excluído. |
|
|
||
Um arquivo é movido para a lixeira. |
|
|
||
Um arquivo é removido da lixeira. |
|
|
||
Uma proposta de acesso é criada em um arquivo. |
|
|
||
Uma proposta de acesso é resolvida em um arquivo. |
|
|
Dados do evento
Esta seção descreve os dados de eventos e exemplos de payloads para eventos no Drive.
Quando sua assinatura do Google Workspace recebe um evento do
Drive, o campo
data
contém a carga útil do evento. Esse payload tem informações sobre o recurso do Google Workspace que mudou. Por exemplo, se você assinou
eventos de arquivo, o payload desses eventos contém informações sobre o recurso
file
que mudou.
Dados de recursos no payload do evento
Ao criar uma assinatura, você pode especificar se quer que o payload inclua detalhes sobre o recurso ou apenas o nome dele. Por exemplo, se você quiser receber eventos sobre arquivos no Drive, especifique quais campos de um recurso files
quer receber no payload do evento.
A tabela a seguir fornece exemplos de payloads JSON para uma assinatura do recurso Drive. O ID do arquivo contém letras, números e alguns caracteres especiais estruturados como files/^[01][0-9a-zA-Z_-]+$/
. Por exemplo, files/1aaabbbAAABBB111222-_
. Para cada evento que a assinatura recebe, o
payload aparece no campo data
do evento:
Exemplo | Tipo de evento | Payload JSON |
---|---|---|
Um usuário adiciona um arquivo a uma pasta ou drive compartilhado. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário move um arquivo para uma pasta ou um drive compartilhado. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário edita um arquivo ou uma nova revisão é enviada por upload. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário exclui um arquivo. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário move um arquivo para a lixeira. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário restaura um arquivo da lixeira. |
|
Inclui dados de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Exclui dados de recursos
{ "file": { "id": "FILE_ID" } } |
Um usuário cria uma proposta de acesso em um arquivo. |
|
Inclui dados de recursos
{ "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "grant me access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } Exclui dados de recursos
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Um usuário resolve uma proposta de acesso em um arquivo. |
|
Inclui dados de recursos
{ "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "resolve access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } Exclui dados de recursos
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Limitações
- Quando o campo booleano
includeDescendants
emDriveOptions
étrue
, as assinaturas do Drive em drives e pastas compartilhados sempre enviam um evento, mesmo que o arquivo que acionou o evento esteja aninhado muitas camadas abaixo da pasta usada para a assinatura do Drive. - Mesmo que você tenha criado uma assinatura em uma pasta, talvez não receba todos os eventos na hierarquia de arquivos porque o usuário ou aplicativo não tem acesso a eles. Nesse caso, a assinatura permanece ativa, mas você não recebe eventos de recursos a que não tem acesso.
- As assinaturas são compatíveis com eventos em todos os arquivos e pastas, mas não na pasta raiz dos drives compartilhados. As assinaturas só são compatíveis com arquivos e pastas dentro dos drives compartilhados. As mudanças feitas diretamente na pasta raiz de um drive compartilhado não acionam eventos.
- O usuário que autoriza a inscrição precisa ter permissão no arquivo correspondente aos eventos em que se inscreveu.
- A assinatura só recebe eventos de recursos a que o usuário tem acesso pela conta do Google Workspace ou Conta do Google.