Questa pagina descrive gli eventi di Google Drive a cui la tua app può iscriversi utilizzando l'API Google Workspace Events. Dopo aver deciso quali tipi di eventi ti servono, crea un abbonamento per iniziare a ricevere eventi da Drive.
Per saperne di più sullo sviluppo di app per Drive, consulta la panoramica dell'API Google Drive.
Eventi di Drive supportati
Gli abbonamenti a Google Workspace ti consentono di ricevere eventi relativi ai seguenti tipi di modifiche in Drive:
- Un file è:
- Aggiunto a una cartella o a un Drive condiviso.
- Spostato in una cartella o in un Drive condiviso.
- È stata caricata una revisione modificata o nuova.
- Spostato nel cestino o rimosso dal cestino.
- Una proposta di accesso viene creata o risolta su un file.
Risorse che puoi monitorare per gli eventi
Per ricevere eventi, devi specificare una risorsa Drive da monitorare, che viene chiamata risorsa di destinazione dell'abbonamento.
L'API Google Workspace Events supporta le seguenti risorse di destinazione per Drive:
Risorsa di destinazione | Formato | Limitazioni (se applicabile) |
---|---|---|
File | //googleapis.com/drive/v3/files/FILE
dove FILE è l'ID nel
nome della risorsa della risorsa |
L'utente che autorizza l'abbonamento deve disporre dell'autorizzazione per il file all'interno dell'abbonamento rispetto all'evento di iscrizione. |
Drive condiviso | //googleapis.com/drive/v3/drives/DRIVE
dove DRIVE è l'ID nel
nome della risorsa della risorsa |
L'abbonamento riceve solo eventi per gli elementi nel Drive condiviso in cui l'utente è membro tramite il proprio account Google Workspace o Account Google. |
Tipi di eventi per la creazione di abbonamenti
Quando crei un abbonamento a una risorsa di Drive, utilizzi il campo
eventTypes[]
per specificare i tipi di eventi che vuoi ricevere. I tipi di evento sono
formattati in base alla specifica CloudEvents,
ad esempio
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Ad esempio, per ricevere eventi relativi alla creazione di un file in una cartella o in un Drive condiviso, specifica il file come risorsa di destinazione e il tipo di evento come google.workspace.drive.file.v3.created
. Per ricevere eventi relativi alla creazione di una proposta di accesso a un file, specifica la proposta di accesso come risorsa di destinazione e il tipo di evento come google.workspace.drive.accessproposal.v3.created
. Per scoprire di più su come
funzionano gli eventi, consulta Struttura degli eventi
di Google Workspace.
La tabella seguente mostra i tipi di eventi supportati per gli abbonamenti alle risorse di Drive:
Tipo di evento | Formato | Dati delle risorse | ||
---|---|---|---|---|
Abbonamenti ai file | ||||
Un file viene aggiunto a una cartella o a un Drive condiviso. |
|
|
||
Un file viene spostato in una cartella o in un Drive condiviso. |
|
|
||
Un file viene modificato o viene caricata una nuova revisione. |
|
|
||
Un file viene eliminato. |
|
|
||
Un file viene spostato nel cestino. |
|
|
||
Un file viene rimosso dal cestino. |
|
|
||
Su un file viene creata una proposta di accesso. |
|
|
||
Una proposta di accesso viene risolta su un file. |
|
|
||
Abbonamenti ai Drive condivisi | ||||
Un file viene aggiunto a una cartella o a un Drive condiviso. |
|
|
||
Un file viene spostato in una cartella o in un Drive condiviso. |
|
|
||
Un file viene modificato o viene caricata una nuova revisione. |
|
|
||
Un file viene eliminato. |
|
|
||
Un file viene spostato nel cestino. |
|
|
||
Un file viene rimosso dal cestino. |
|
|
||
Su un file viene creata una proposta di accesso. |
|
|
||
Una proposta di accesso viene risolta su un file. |
|
|
Dati sugli eventi
Questa sezione descrive i dati sugli eventi e i payload di esempio per gli eventi in Drive.
Quando il tuo abbonamento a Google Workspace riceve un evento da
Drive, il campo
data
contiene il payload dell'evento. Questo payload contiene informazioni sulla risorsa
Google Workspace modificata. Ad esempio, se hai eseguito la sottoscrizione agli eventi
relativi ai file, il payload di questi eventi contiene informazioni sulla risorsa
file
che è stata modificata.
Dati delle risorse nel payload dell'evento
Quando crei un abbonamento, puoi specificare se vuoi che il payload
includa i dettagli della risorsa o solo il nome. Ad esempio, se vuoi ricevere eventi relativi ai file in Drive, puoi specificare i campi di una risorsa files
che vuoi ricevere nel payload dell'evento.
La seguente tabella fornisce esempi di payload JSON per un abbonamento alla risorsa Drive. L'ID file contiene lettere, numeri e alcuni
caratteri speciali strutturati come files/^[01][0-9a-zA-Z_-]+$/
. Ad esempio,
files/1aaabbbAAABBB111222-_
. Per ogni evento ricevuto dall'abbonamento, il
payload viene visualizzato nel campo data
dell'evento:
Esempio | Tipo di evento | Payload JSON |
---|---|---|
Un utente aggiunge un file a una cartella o a un Drive condiviso. |
|
Include i dati delle risorse
{ "fileCreatedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileCreatedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente sposta un file in una cartella o in un Drive condiviso. |
|
Include i dati delle risorse
{ "fileMovedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileMovedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente modifica un file o viene caricata una nuova revisione. |
|
Include i dati delle risorse
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente elimina un file. |
|
Include i dati delle risorse
{ "fileDeletedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileDeletedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente sposta un file nel cestino. |
|
Include i dati delle risorse
{ "fileTrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileTrashedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente ripristina un file dal cestino. |
|
Include i dati delle risorse
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Esclude i dati delle risorse
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID" } } } |
Un utente crea una proposta di accesso a un file. |
|
Include i dati delle risorse
{ "accessProposalCreatedEvent": { "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" } ] } ] } } Esclude i dati delle risorse
{ "accessProposalCreatedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Un utente risolve una proposta di accesso a un file. |
|
Include i dati delle risorse
{ "accessProposalResolvedEvent": { "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" } ] } ] } } Esclude i dati delle risorse
{ "accessProposalResolvedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Limitazioni
- Quando il campo booleano
includeDescendants
inDriveOptions
ètrue
, gli abbonamenti a Drive su Drive condivisi e cartelle inviano sempre un evento, anche se il file che ha attivato l'evento è nidificato molti livelli sotto la cartella utilizzata per l'abbonamento a Drive. - Anche se hai creato un abbonamento a una cartella, potresti non ricevere tutti gli eventi all'interno della gerarchia di file perché all'utente o all'applicazione potrebbe non essere concesso l'accesso. In questo caso, l'abbonamento rimane attivo, ma non riceverai eventi per le risorse a cui non hai accesso.
- Le iscrizioni sono supportate per gli eventi su tutti i file e le cartelle, ma non sulla cartella principale dei Drive condivisi. Gli abbonamenti sono supportati solo per i file e le cartelle all'interno dei Drive condivisi. Le modifiche apportate direttamente alla cartella principale di un Drive condiviso non attivano eventi.
- L'utente che autorizza l'abbonamento deve disporre dell'autorizzazione per il file corrispondente agli eventi a cui si abbona.
- L'abbonamento riceve solo eventi per le risorse a cui l'utente ha accesso tramite il proprio account Google Workspace o Account Google.