En esta página, se describen los eventos de Google Drive a los que tu app puede suscribirse con la API de Google Workspace Events. Después de decidir qué tipos de eventos necesitas, crea una suscripción para comenzar a recibir eventos de Drive.
Para obtener más información sobre el desarrollo de apps para Drive, consulta la descripción general de la API de Google Drive.
Eventos de Drive admitidos
Las suscripciones a Google Workspace te permiten recibir eventos sobre los siguientes tipos de cambios en Drive:
- Un archivo es:
- Se agregó a una carpeta o unidad compartida.
- Se movió a una carpeta o unidad compartida.
- Se editó o se subió una revisión nueva.
- Se movió a la papelera o se quitó de ella.
- Se creó o resolvió una propuesta de acceso en un archivo.
Recursos que puedes supervisar para detectar eventos
Para recibir eventos, debes especificar un recurso de Drive para supervisar, que se denomina recurso de destino de la suscripción.
La API de Google Workspace Events admite los siguientes recursos de destino para Drive:
Recurso objetivo | Formato | Limitaciones (si corresponde) |
---|---|---|
Archivo |
//drive.googleapis.com/files/FILE
donde FILE es el ID en el
nombre del recurso
del recurso |
El usuario que autoriza la suscripción debe tener permiso para acceder al archivo dentro de la suscripción en relación con el evento de suscripción. |
Unidad compartida |
//drive.googleapis.com/drives/DRIVE
donde DRIVE es el ID en el
nombre del recurso
del recurso |
La suscripción solo recibe eventos de los elementos de la unidad compartida en la que el usuario es miembro a través de su Cuenta de Google o Cuenta de Google Workspace. |
Tipos de eventos para crear suscripciones
Cuando creas una suscripción a un recurso de Drive, usas el campo eventTypes[]
para especificar qué tipos de eventos deseas recibir. Los tipos de eventos se formatean según la especificación de CloudEvents, como google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Por ejemplo, para recibir eventos sobre la creación de un archivo en una carpeta o unidad compartida, especifica el archivo como el recurso de destino y el tipo de evento como google.workspace.drive.file.v3.created
. Para recibir eventos sobre la creación de una propuesta de acceso en un archivo, debes especificar la propuesta de acceso como recurso de destino y el tipo de evento como google.workspace.drive.accessproposal.v3.created
. Para obtener más información sobre cómo funcionan los eventos, consulta Estructura de los eventos de Google Workspace.
En la siguiente tabla, se muestran los tipos de eventos admitidos para las suscripciones a recursos de Drive:
Tipo de evento | Formato | Datos de recursos | ||
---|---|---|---|---|
Suscripciones a archivos | ||||
Se agrega un archivo a una carpeta o unidad compartida. |
|
|
||
Se mueve un archivo a una carpeta o unidad compartida. |
|
|
||
Se edita un archivo o se sube una revisión nueva. |
|
|
||
Se borra un archivo. |
|
|
||
Se envió un archivo a la papelera. |
|
|
||
Se quita un archivo de la papelera. |
|
|
||
Se creó una propuesta de acceso en un archivo. |
|
|
||
Se resolvió una propuesta de acceso en un archivo. |
|
|
||
Suscripciones a unidades compartidas | ||||
Se agrega un archivo a una carpeta o unidad compartida. |
|
|
||
Se mueve un archivo a una carpeta o unidad compartida. |
|
|
||
Se edita un archivo o se sube una revisión nueva. |
|
|
||
Se borra un archivo. |
|
|
||
Se envió un archivo a la papelera. |
|
|
||
Se quita un archivo de la papelera. |
|
|
||
Se creó una propuesta de acceso en un archivo. |
|
|
||
Se resolvió una propuesta de acceso en un archivo. |
|
|
Datos de eventos
En esta sección, se describen los datos de eventos y los ejemplos de cargas útiles para los eventos en Drive.
Cuando tu suscripción a Google Workspace recibe un evento de Drive, el campo data
contiene la carga útil del evento. Esta carga útil contiene información sobre el recurso de Google Workspace que cambió. Por ejemplo, si te suscribiste a eventos de archivos, la carga útil de estos eventos contiene información sobre el recurso file
que cambió.
Datos del recurso en la carga útil del evento
Cuando creas una suscripción, puedes especificar si deseas que la carga útil incluya detalles sobre el recurso o solo su nombre. Por ejemplo, si deseas recibir eventos sobre archivos en Drive, puedes especificar qué campos de un recurso files
deseas recibir en la carga útil del evento.
En la siguiente tabla, se proporcionan ejemplos de cargas útiles JSON para una suscripción al recurso Drive. El ID de archivo contiene letras, números y algunos caracteres especiales estructurados como files/^[01][0-9a-zA-Z_-]+$/
. Por ejemplo, files/1aaabbbAAABBB111222-_
Para cada evento que recibe la suscripción, la carga útil aparece en el campo data
del evento:
Ejemplo | Tipo de evento | Carga útil de JSON |
---|---|---|
Un usuario agrega un archivo a una carpeta o unidad compartida. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario mueve un archivo a una carpeta o unidad compartida. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario edita un archivo o se sube una revisión nueva. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario borra un archivo. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario mueve un archivo a la papelera. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario restablece un archivo de la papelera. |
|
Incluye datos de recursos
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Excluye los datos de recursos
{ "file": { "id": "FILE_ID" } } |
Un usuario crea una propuesta de acceso en un archivo. |
|
Incluye datos 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" } ] } ] } Excluye los datos de recursos
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Un usuario resuelve una propuesta de acceso en un archivo. |
|
Incluye datos 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" } ] } ] } Excluye los datos de recursos
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Limitaciones
- Cuando el campo booleano
includeDescendants
enDriveOptions
estrue
, las suscripciones de Drive en unidades y carpetas compartidas siempre envían un evento, incluso si el archivo que activó el evento está anidado muchos niveles por debajo de la carpeta que se usa para la suscripción de Drive. - Aunque hayas creado una suscripción en una carpeta, es posible que no recibas todos los eventos dentro de la jerarquía de archivos, ya que es posible que no se le haya otorgado acceso a ellos al usuario o a la aplicación. En este caso, la suscripción permanece activa, pero no recibirás ningún evento para los recursos a los que no tengas acceso.
- Se admiten suscripciones para eventos en todos los archivos y carpetas, pero no en la carpeta raíz de las unidades compartidas. Las suscripciones solo se admiten para los archivos y las carpetas dentro de las unidades compartidas. Los cambios que se realicen directamente en la carpeta raíz de una unidad compartida no activarán eventos.
- El usuario que autoriza la suscripción debe tener permiso en el archivo correspondiente a los eventos a los que se suscribe.
- La suscripción solo recibe eventos para los recursos a los que el usuario tiene acceso a través de su cuenta de Google Workspace o Cuenta de Google.