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 
includeDescendantsemDriveOptionsé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.