Cómo compilar interfaces de Calendario de Google

Los complementos de Google Workspace pueden proporcionar interfaces personalizadas cuando el usuario ve o edita calendarios y eventos de Calendario. Esto te permite proporcionar al usuario información adicional pertinente, automatizar tareas y conectar sistemas de terceros a Calendario de Google.

Cuando compilas una interfaz de complemento para el Calendario de Google, puedes proporcionar una página principal. Puedes usar la misma página principal para varios hosts o diseñar una específica para Calendario de Google.

Tu complemento también puede definir una interfaz que aparece cuando el usuario tiene abierto un evento de Calendario.

Cómo acceder a la IU del complemento

Según cómo se abra, un complemento de Google Workspace puede definir una interfaz de página principal, una interfaz de eventos del Calendario de Google, una interfaz de selección de archivos adjuntos o las tres:

  • Si un usuario hace clic en el ícono del complemento mientras está en una vista de calendario, el complemento ejecuta la función calendar.homepageTrigger correspondiente (si está presente). Esta función compila y devuelve una tarjeta de la página principal a Calendar para que se muestre. Si no se define ninguna función de calendar.homepageTrigger, se mostrará una tarjeta genérica de la página principal.
  • Si el usuario abre un evento del Calendario y, luego, hace clic en el ícono del complemento, o bien si el complemento está abierto cuando el usuario abre un evento, el complemento ejecuta la función eventOpenTrigger correspondiente (si está presente). Esta función compila la interfaz de eventos del Calendario del complemento y la devuelve al Calendario de Google para que se muestre.
  • Si el complemento define una función eventAttachmentTrigger, aparecerá como proveedor de archivos adjuntos cuando el usuario haga clic en Agregar archivo adjunto mientras edita un evento de Calendario. Cuando se selecciona el complemento, la función eventAttachmentTrigger compila la interfaz de selección de archivos adjuntos del complemento y la devuelve al Calendario de Google para que se muestre.

Cómo compilar la interfaz del complemento de Calendario

Para extender el Calendario de Google con un complemento de Google Workspace, sigue estos pasos:

  1. Decide si quieres que tu complemento tenga una página principal específica para Calendar. También decide si deseas proporcionar una interfaz personalizada mientras el usuario edita eventos del Calendario.
  2. Agrega los campos addOns.common y addOns.calendar correspondientes al manifiesto del proyecto de secuencia de comandos del complemento, incluidos los permisos necesarios.
  3. Si proporcionas una página principal específica del Calendario, implementa la función calendar.homepageTrigger para compilar esta interfaz. También puedes usar la interfaz de common.homepageTrigger para varios hosts de Google Workspace.
  4. Si proporcionas una interfaz de eventos de calendario, debes implementar una función calendar.eventOpenTrigger para compilar esta interfaz. Consulta Cómo extender la interfaz de eventos del Calendario para obtener más detalles.
  5. Implementa las funciones de devolución de llamada asociadas necesarias para responder a las interacciones del usuario con la IU, como los clics en botones.

Páginas principales del calendario

El Calendario de Google admite la visualización de las páginas principales de los complementos de Google Workspace. Para mostrar la página principal común de tu complemento en el Calendario de Google, simplemente asegúrate de que haya un campo addOns.calendar en el manifiesto del complemento.

Como alternativa, agrega un calendar.homepageTrigger al manifiesto del complemento para proporcionar una página principal específica del Calendario.

En cualquier caso, debes proporcionar el nombre de una función de activación de la página principal en el proyecto de secuencia de comandos de tu complemento. Se llama automáticamente a esta función para compilar la página principal del Calendario de Google cuando es necesario. Debes implementar esta función para compilar y devolver un solo objeto Card o un array de objetos Card que componen la página principal. A la función de activación de la página principal se le pasa un objeto de evento como parámetro que contiene información general, como la plataforma del cliente. Puedes usar los datos del objeto de evento para personalizar la creación de la página principal.

Extensión de la interfaz del evento de Calendario

El Calendario de Google se basa en un activador contextual para determinar qué interfaz (si corresponde) mostrar cuando el usuario edita un evento del Calendario. Cuando se activa el activador, se ejecuta la función de activación contextual especificada por el campo calendar.eventOpenTrigger en el manifiesto del complemento.

Debes implementar la función que se nombra en el campo calendar.eventOpenTrigger. Esta función acepta un objeto de evento como argumento y debe devolver un solo objeto Card o un array de objetos Card para que Calendar los muestre mientras el usuario tiene el evento abierto.

Objetos de eventos

Se crea un objeto de evento y se pasa a la función de activación contextual calendar.eventOpenTrigger cuando un usuario abre un evento de Calendar. La función de activación puede usar la información de este objeto de evento para determinar cómo construir tarjetas de complementos o controlar el comportamiento del complemento. Los objetos de eventos también se crean y se pasan a las funciones de homepageTrigger cuando se abre un complemento por primera vez y cuando el usuario hace clic o selecciona widgets interactivos.

La estructura completa de los objetos de eventos se describe en Objetos de eventos. Cuando Calendario es la app host del complemento, los objetos de eventos de interacción con widgets y activadores contextuales incluyen el campo objeto de evento de Calendario, que contiene información específica del cliente de Calendario.

Cómo actualizar eventos del Calendario

Además del calendar.eventOpenTrigger contextual que se activa cuando un usuario abre un evento del Calendario para editarlo, también puedes definir un calendar.eventUpdateTrigger que se active cuando el usuario actualiza y guarda un evento del Calendario. Este activador solo se activa si el usuario realiza uno o más de los siguientes cambios:

  • Agrega uno o más asistentes.
  • Quita uno o más asistentes.
  • Agrega o cambia a otra solución para reuniones.

Cuando se activa este activador, se ejecuta la función de activación especificada por el campo de manifiesto calendar.eventUpdateTrigger. La función se ejecuta antes de que se guarde la edición del evento de calendario.

Por lo general, el calendar.eventUpdateTrigger se usa para realizar una o más de las siguientes acciones:

  • Actualiza la interfaz de eventos de Calendario del complemento en respuesta a los cambios que el usuario realice en el evento de Calendario.
  • Sincronizar los datos de eventos del calendario con un sistema de terceros, como un sistema de conferencias conectado al Calendario de Google

Si necesitas que tu complemento ajuste los datos de un evento de Calendario (como su lista de asistentes), debes establecer el campo del manifiesto calendar.currentEventAccess del complemento en WRITE o READ_WRITE. Esto también requiere que el complemento tenga el alcance de https://www.googleapis.com/auth/calendar.addons.current.event.write.

Cómo agregar soluciones para reuniones

Las soluciones de conferencias representan opciones de conferencias de terceros que los usuarios pueden adjuntar a los eventos de Calendario de Google. La documentación de la Descripción general de la conferencia de terceros proporciona detalles sobre cómo compilar un complemento que agregue nuevas soluciones de conferencia. No es necesario compilar una IU para este tipo de extensión. Las soluciones agregadas simplemente aparecen como opciones en el menú desplegable de la IU del evento de Calendario de Google.