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:
Se creó o resolvió una propuesta de acceso en un archivo.
Se crea, edita, resuelve, vuelve a abrir o borra un comentario en un archivo o en un archivo dentro de una unidad compartida.
Un archivo es lo siguiente:
- 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 cambió el nombre (se modificó el título de un archivo o una carpeta).
Se crea, edita o borra una respuesta en un hilo de comentarios de un archivo o de un archivo dentro de una unidad compartida.
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 y unidades compartidas | ||||
| Se creó una propuesta de acceso en un archivo. |
|
|
||
| Se resolvió una propuesta de acceso en un archivo. |
|
|
||
| Se crea un comentario en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| Se edita un comentario en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| Se resuelve un comentario en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| Se vuelve a abrir un comentario en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| Se borra un comentario en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| 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 envía un archivo a la papelera. |
|
|
||
| Se quita un archivo de la papelera. |
|
|
||
| Se cambia el nombre de un archivo. |
|
|
||
| Se crea una respuesta en un hilo de comentarios en un archivo o en un archivo dentro de una unidad compartida. |
|
|
||
| Se edita una respuesta en un hilo de comentarios de un archivo o de un archivo dentro de una unidad compartida. |
|
|
||
| Se borra una respuesta en un hilo de comentarios de un archivo o de un archivo dentro de una unidad compartida. |
|
|
||
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 files 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 crea una propuesta de acceso en un archivo. |
|
Incluye datos de recursos
{
"accessProposal": [
{
"file_id": "FILE_ID",
"proposalId": "PROPOSAL_ID",
"recipientEmailAddress": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"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": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"requestMessage": "resolve access to this file",
"rolesAndViews": [
{
"role": "writer",
"view": "published"
}
]
}
]
}
Excluye los datos de recursos
{
"accessProposal": [
{
"proposalId": "PROPOSAL_ID"
}
]
}
|
Un usuario crea un comentario en un archivo. |
|
Incluye datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario edita un comentario en un archivo. |
|
Incluye datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario resuelve un comentario en un archivo. |
|
Incluye datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario vuelve a abrir un comentario en un archivo. |
|
Incluye datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario borra un comentario en un archivo. |
|
Incluye datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
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 cambia el nombre de un archivo o una carpeta. |
|
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 respuesta a un comentario en un hilo de comentarios. |
|
Incluye datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario edita la respuesta a un comentario en un hilo de comentarios. |
|
Incluye datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Un usuario borra la respuesta a un comentario en un hilo de comentarios. |
|
Incluye datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
Excluye los datos de recursos
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
Limitaciones
- Cuando el campo booleano
includeDescendantsenDriveOptionsestrue, las suscripciones de Drive en unidades y carpetas compartidas siempre envían un evento, incluso si el archivo que activó el evento está anidado en muchas capas 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.