En esta página, se proporciona una descripción general de la API de Google Workspace Events y se explica cómo puedes usarla para suscribirte a eventos en Google Workspace.
Los eventos de Google Workspace representan cambios en los recursos de Google Workspace, como cuando se crean, actualizan o borran recursos. Tu app puede suscribirse a un recurso de Google Workspace para recibir eventos relevantes que te interesen.
Cómo tu app recibe eventos
Para permitir que tu app reciba eventos de Google Workspace, usa la API de Google Workspace Events para crear suscripciones a los recursos de Google Workspace.
En el siguiente ejemplo, así es como la API de Google Workspace Events entrega eventos a una app de Google Chat a través de una suscripción:
- Una app de Chat se suscribe a un espacio de Chat.
- El espacio de Chat cambiará. Por ejemplo, si se publica un mensaje nuevo en el espacio,
- Chat entrega un evento a un tema en
Google Cloud Pub/Sub, que funciona como el extremo de notificación de la suscripción. El evento contiene datos sobre lo que cambió. Por ejemplo, en el caso de un evento sobre un mensaje nuevo, el evento contiene detalles sobre el recurso
Message
que se crea. - La app de Chat procesa el mensaje de Google Cloud Pub/Sub que contiene el evento y, si es necesario, realiza una acción.
Terminología importante
La siguiente es una lista de términos comunes usados en la API de Google Workspace Events:
- Evento de Google Workspace
Es un cambio en un recurso de Google Workspace. Los eventos se formatean con la especificación CloudEvents y pueden ser un evento de suscripción o un evento de ciclo de vida:
- Evento de suscripción
- Es un cambio en el recurso de Google Workspace que supervisas, como un mensaje nuevo en un espacio de Google Chat. Puedes especificar cuántos detalles deseas recibir sobre el recurso que cambió. Para obtener más información, consulta Estructura de eventos de Google Workspace.
- Evento del ciclo de vida
- Un evento sobre tu suscripción a Google Workspace. Los eventos del ciclo de vida te notifican sobre los problemas y el estado de tu suscripción para que puedas evitar perder eventos de suscripción. De forma predeterminada, tu suscripción siempre recibe eventos de ciclo de vida. Para obtener más información, consulta Eventos del ciclo de vida de las suscripciones a Google Workspace.
- Suscripción a Google Workspace
Una entidad denominada que supervisa un recurso desde una aplicación de Google Workspace. Una suscripción se representa con un recurso
Subscription
. Una suscripción se define en función de la siguiente información:- Recurso de destino
- El recurso de Google Workspace que quieres supervisar.
Este recurso se representa en el campo
targetResource
de la suscripción a Google Workspace. Cada suscripción solo puede supervisar un recurso. Para ver qué recursos de Google Workspace admite la API de Google Workspace Events, consulta Eventos de Google Workspace compatibles. - Tipos de eventos
- Los tipos de cambios sobre los que deseas recibir notificaciones en el recurso de destino. Por ejemplo, si te suscribiste a un espacio de Google Chat, puedes elegir si quieres recibir eventos sobre el espacio y sus recursos secundarios, como membresías y mensajes.
- Extremo de notificación
- El extremo en el que la suscripción a Google Workspace recibe eventos. La API de Eventos de Google Workspace admite temas de Google Cloud Pub/Sub como un extremo de notificación. Para obtener más información sobre cómo usar Google Cloud Pub/Sub, consulta la documentación de Google Cloud Pub/Sub.
- Opciones de carga útil
- Los datos de eventos que deseas recibir sobre los recursos modificados.
Eventos de Google Workspace compatibles
Los eventos que tu app puede recibir dependen del recurso objetivo de tu suscripción. En la siguiente tabla, se muestran los eventos admitidos para cada recurso de destino posible.
Recurso de destino | Formato | Eventos admitidos | Limitaciones (si corresponde) | |
---|---|---|---|---|
Google Chat | ||||
Espacios de Google Chat |
Sigue estos pasos para suscribirte a un espacio específico:
Para suscribirte a todos los espacios de los que el usuario es miembro, sigue estos pasos:
|
Para conocer más detalles, consulta Suscríbete a eventos de Google Chat. |
El usuario de Google Chat que autoriza la suscripción debe ser miembro del espacio a través de su Cuenta de Google o de Google Workspace. | |
Usuarios de Google Chat | //cloudidentity.googleapis.com/users/USER_ID |
Para conocer más detalles, consulta Suscríbete a eventos de Google Chat. |
La suscripción solo recibe eventos sobre el usuario que la autorizó. Un usuario no puede autorizar una suscripción en nombre de otros usuarios. |
|
Google Meet | ||||
Salas de reuniones de Google Meet | //meet.googleapis.com/spaces/SPACE_ID |
Para obtener más información, consulta Suscríbete a eventos de Google Meet. |
||
Usuarios de Google Meet | //cloudidentity.googleapis.com/users/USER_ID |
Para obtener más información, consulta Suscríbete a eventos de Google Meet. |
La suscripción recibe eventos sobre salas de reuniones en los que el usuario es uno de los siguientes:
|
Estructura de eventos de Google Workspace
Los eventos de Google Workspace siguen la especificación de CloudEvents, que es una forma estándar de la industria para describir datos de eventos. Los eventos de Google Workspace contienen lo siguiente:
- Atributos del CloudEvent.
- Datos sobre el recurso de Google Workspace que cambió como resultado del evento
En la siguiente sección, se explica la estructura de los atributos y los datos para los eventos de Google Workspace.
Atributos de CloudEvent
Los eventos de Google Workspace contienen los siguientes atributos de CloudEvents obligatorios:
Atributo | Descripción | Ejemplo |
---|---|---|
|
El tipo de datos que se pasaron en el evento. |
|
|
Un identificador para el CloudEvent. |
|
|
Es la fuente del evento. En el caso de los eventos de Google Workspace, este es el nombre completo del recurso de la suscripción. |
//workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg
|
|
La versión de la especificación de CloudEvents que se usa para este evento. |
|
|
El recurso de Google Workspace donde ocurrió el evento. |
|
|
Es la marca de tiempo en la que se produjo el evento, en formato RFC 3339. |
|
|
El tipo de evento de Google Workspace. |
|
Datos de eventos
Los datos de eventos son una carga útil que representa un cambio en el recurso de destino de tu suscripción, incluidos los recursos secundarios del recurso de destino. En tu suscripción, puedes especificar si deseas que la carga útil incluya datos sobre el recurso modificado o solo el nombre del recurso modificado.
Por ejemplo, si tienes una suscripción a un espacio de Chat, puedes recibir eventos sobre mensajes nuevos en el espacio. En el caso de los eventos sobre
mensajes nuevos, los datos de eventos contienen una carga útil con el recurso
spaces.message
de Chat que se creó.
Cuando creas una suscripción, puedes especificar cuántos datos de recursos se incluyen en los eventos que recibe tu app:
- Incluir datos de recursos: Contiene algunos o todos los campos del recurso modificado. Si eliges incluir datos de recursos, la duración de la suscripción se limitará a 4 horas o a 24 horas si usas la delegación de todo el dominio.
- Excluir datos de recursos: Contiene solo el nombre del recurso modificado. La duración de la suscripción es de hasta 7 días. Para obtener detalles sobre el evento, puedes consultar el recurso con el nombre del recurso.
Estas opciones de datos de eventos se representan en el campo payloadOptions
de tu suscripción.
Eventos como mensajes de Google Cloud Pub/Sub
Las suscripciones a la API de eventos de Google Workspace usan temas de Google Cloud Pub/Sub como el extremo de notificación que recibe los eventos de Google Workspace. Los eventos se codifican como mensajes de Google Cloud Pub/Sub. Tu aplicación puede procesar el mensaje de Google Cloud Pub/Sub para tomar medidas o responder al evento.
En el siguiente ejemplo, se muestra un mensaje de Google Cloud Pub/Sub que contiene un evento sobre un mensaje actualizado en un espacio de Chat:
{
"message":
{
"attributes":
{
"ce-datacontenttype": "application/json",
"ce-id": "spaces/SPACE_ID/spaceEvents/SPACE_EVENT_ID",
"ce-source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
"ce-specversion": "1.0",
"ce-subject": "//chat.googleapis.com/spaces/SPACE_ID",
"ce-time": "2023-09-07T21:37:53.274191Z",
"ce-type": "google.workspace.chat.message.v1.updated"
},
"data": "EVENT_DATA",
"messageId": "PUBSUB_MESSAGE_ID",
"orderingKey": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
"publishTime": "2023-09-07T21:37:53.713Z"
}
}
Ten en cuenta los siguientes campos:
attributes
: Atributos para CloudEvent, que incluyen el tipo de evento. En este caso, el evento se trata de un mensaje actualizado en el espacio.data
: Son los datos del evento con detalles sobre el recursospaces.message
actualizado, con formato de una cadena codificada en Base64.messageId
: Es el identificador del mensaje de Google Cloud Pub/Sub.
Para obtener más información sobre cómo se especifican los CloudEvents en los mensajes de Google Cloud Pub/Sub, consulta Vinculación de protocolo de Google Cloud Pub/Sub para CloudEvents.
Temas relacionados
- Suscríbete a eventos de Google Chat
- Eventos del ciclo de vida para suscripciones a Google Workspace
- Elige los permisos de la API de Google Workspace Events
- Crea una suscripción a Google Workspace