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.