Suscríbete a eventos con la API de Google Workspace Events

En esta página, se proporciona una descripción general de la API de Google Workspace Events y se explica cómo puedes usar la API 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 les interesa.

Cómo tu app recibe eventos

Para permitir que tu app reciba eventos de Google Workspace, debes usar el La API de Google Workspace Events para crear suscripciones a Google Workspace de Google Cloud.

Ilustración de cómo la API de Google Workspace Events entrega eventos.
Figura 1. Ejemplo de cómo el La API de Google Workspace Events entrega eventos a un App de Chat.

En el siguiente ejemplo, así es como la API de Google Workspace Events ofrece a una app de Google Chat mediante una suscripción:

  1. Una app de Chat se suscribe a un espacio de Chat.
  2. El espacio de Chat cambiará. Por ejemplo, cuando se publica un mensaje nuevo en el espacio.
  3. El chat envía 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 los cambios. Por ejemplo, para un evento sobre una nueva , el evento contiene detalles sobre el recurso Message que se crear.
  4. La app de Chat procesa el servicio de Google Mensaje de Pub/Sub que contiene el evento y, si es necesario, realiza una acción.

Terminología importante

A continuación, se incluye una lista de términos comunes usados en el API de Google Workspace Events:

Evento de Google Workspace

Es un cambio en un recurso de Google Workspace. Los eventos se formatean con el CloudEvents especificación, y puede ser un evento de suscripción o un evento de ciclo de vida:

Evento de suscripción
Un cambio en el recurso de Google Workspace que estás supervisando. como un mensaje nuevo en un espacio de Google Chat. Puedes especificar o el detalle que 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. Eventos del ciclo de vida te notificarán sobre los problemas y el estado de tu suscripción para que puedas para evitar perderte 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 para suscripciones a Google Workspace.
Suscripción a Google Workspace

Una entidad denominada que supervisa un recurso desde una instancia de Google Workspace y mantener la integridad de su aplicación. Una suscripción se representa con un Subscription recurso. 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 en qué recursos de Google Workspace es compatible con la API de Google Workspace Events, consulta Eventos de Google Workspace admitidos.
Tipos de eventos
Los tipos de cambios sobre los que deseas recibir notificaciones 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 las membresías y los mensajes
Extremo de notificación
Es el extremo donde La suscripción a Google Workspace recibe eventos. El La API de Google Workspace Events admite temas de Google Cloud Pub/Sub como un extremo de notificación. Para obtener más información sobre el uso de 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 uno de ellos posible recurso de destino.

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:

//chat.googleapis.com/spaces/SPACE_ID

Para suscribirte a todos los espacios de los que el usuario es miembro, sigue estos pasos:

//chat.googleapis.com/spaces/-

  • Mensajes
  • Membresías
  • Reacciones
  • Espacio

Para conocer más detalles, consulta Suscríbete a eventos de Google Chat.
El usuario de Google Chat que autorice la suscripción debe ser miembro del espacio a través de su cuenta de Google Workspace o Google Cuenta.
Usuarios de Google Chat //cloudidentity.googleapis.com/users/USER_ID
  • Membresías

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
  • Conferencias
  • Sesiones para participantes
  • Grabaciones
  • Transcripciones

Para obtener más información, consulta Suscríbete a eventos de Google Meet.
Usuarios de Google Meet //cloudidentity.googleapis.com/users/USER_ID
  • Conferencias
  • Sesiones para participantes
  • Grabaciones
  • Transcripciones

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 la usuario es uno de los siguientes:

  • El propietario de la sala de reuniones.
  • El organizador del evento de Calendario de Google asociado a la sala de reuniones.

Estructura de eventos de Google Workspace

Los eventos de Google Workspace siguen a la sesión de CloudEvents especificación, que es una forma estándar de la industria de describir los datos de eventos. Google Workspace los eventos contienen lo siguiente:

  • Atributos del CloudEvent.
  • Datos sobre el recurso de Google Workspace que cambió como resultado de el evento

La siguiente sección explica la estructura de los atributos y los datos para de Google Workspace.

Atributos de CloudEvent

Los eventos de Google Workspace contienen lo siguiente Atributos de CloudEvents:

Atributo Descripción Ejemplo

datacontenttype

El tipo de datos que se pasaron en el evento.

application/json

id

Un identificador para el CloudEvent.

spaces/AAAABBBBBBB/spaceEvents/ABCDEFGHIJKLMNO

source

Es la fuente del evento. Para los eventos de Google Workspace, que es el nombre completo del recurso de la suscripción. //workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg

specversion

La versión de la especificación de CloudEvents que se usa para este evento.

1.0

subject

El recurso de Google Workspace donde ocurrió el evento.

//chat.googleapis.com/spaces/AAAABBBBBBB

time

Es la marca de tiempo en la que se produjo el evento, en formato RFC 3339.

2023-09-07T21:37:36.260127Z

type

El tipo de evento de Google Workspace.

google.workspace.chat.message.v1.created

Datos de eventos

Los datos de eventos son una carga útil que representa un cambio en el objetivo de tu suscripción recurso, incluidos los recursos secundarios del recurso de destino. En tu puedes especificar si deseas que la carga útil incluya datos el recurso modificado o solo el nombre del recurso modificado.

Por ejemplo, si tienes una suscripción a un espacio de Chat, pueden recibir eventos sobre mensajes nuevos en el espacio. En el caso de eventos sobre mensajes nuevos, los datos del evento contienen una carga útil con el código Se creó spaces.message recurso.

Cuando creas una suscripción, puedes especificar cuántos datos de recursos incluidos en los eventos que recibe la app:

  • Incluir datos de recursos: Contiene algunos o todos los campos del nombre modificado recurso. Si decides incluir datos de recursos, tu suscripción La duración se limita a hasta 4 horas o 24 horas si usas todo el dominio delegación.
  • Excluir datos de recursos: Contiene solo el nombre del recurso modificado recurso. 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 archivo payloadOptions. de tu suscripción.

Eventos como mensajes de Google Cloud Pub/Sub

Las suscripciones a la API de Google Workspace Events usan Google Cloud Pub/Sub como el extremo de notificación que recibe Google Workspace eventos. Los eventos se codifican como mensajes de Google Cloud Pub/Sub. Tu app procesar el mensaje de Google Cloud Pub/Sub para tomar medidas o responder el 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 es sobre un mensaje actualizado en el espacio.
  • data: Son los datos del evento con detalles sobre la actualización. Recurso spaces.message, 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 CloudEvents en Google Cloud Pub/Sub, consulta Vinculación de protocolo de Google Cloud Pub/Sub para CloudEvents.