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 proporcionarle al usuario información relevante adicional, automatizar las tareas y conectar sistemas de terceros al 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 uno específico para el Calendario de Google.

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

Accede 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 de Calendario de Google, una interfaz de selección de archivos adjuntos o las tres opciones siguientes:

  • 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 muestra una tarjeta de la página principal en Calendario para mostrarla. Si no se define una función calendar.homepageTrigger, se muestra una tarjeta genérica de la página principal.
  • Si el usuario abre un evento de Calendario y, luego, hace clic en el ícono del complemento, o si el complemento está abierto cuando el usuario abre un evento, el complemento ejecuta la función eventOpenTrigger correspondiente (si está presente). Con esta función, se compila la interfaz de eventos de Calendario del complemento y se regresa al Calendario de Google para mostrarla.
  • Si el complemento define una función eventAttachmentTrigger, este aparecerá como un 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 muestra en Calendario de Google para su visualización.

Cómo compilar la interfaz de complementos de Calendario

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

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

Páginas principales del calendario

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

Como alternativa, puedes agregar un objeto 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 activador de la página principal en el proyecto de secuencia de comandos de tu complemento. Esta función se llama automáticamente para compilar la página principal del Calendario de Google cuando es necesaria. Debes implementar esta función para compilar y mostrar un solo Card o un array de objetos Card que componen la página principal. A la función del activador de la página principal se le pasa un objeto de evento como un parámetro que contiene información general, como la plataforma del cliente. Puedes usar los datos del objeto de evento para personalizar la construcción de la página principal.

Ampliación de la interfaz de eventos de Calendario

El Calendario de Google usa un activador contextual para determinar qué interfaz (si hay alguna) se muestra cuando el usuario edita un evento de Calendario. Cuando el activador se activa, ejecuta la función de activador contextual que especifica el campo calendar.eventOpenTrigger en el manifiesto del complemento.

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

Objetos de evento

Se crea un objeto de evento y se pasa a la función de activador contextual calendar.eventOpenTrigger cuando un usuario abre un evento de Calendario. La función activadora puede usar la información de este objeto de evento para determinar cómo crear tarjetas de complementos o controlar su comportamiento. Los objetos de evento también se crean y se pasan a las funciones 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 evento se describe en Objetos de evento. Cuando Calendario es la aplicación host que actúa en el complemento, los objetos de eventos de interacción de widgets y activador contextual incluyen el campo Objeto de evento de calendario que lleva información específica del cliente de Calendario.

Actualizando eventos del Calendario

Además de la calendar.eventOpenTrigger contextual que se activa cuando un usuario abre un evento de Calendario para editarlo, también puedes definir un calendar.eventUpdateTrigger que se active cuando el usuario actualice y guarde un evento de Calendario. Este activador solo se activa si el usuario realiza una o más de las siguientes ediciones:

  • Agrega uno o más asistentes.
  • Quita uno o más asistentes.
  • Agrega o cambia a una solución de conferencia diferente.

Cuando este activador se activa, ejecuta la función de activador 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, se usa calendar.eventUpdateTrigger para realizar una o más de las siguientes acciones:

  • Actualizar la interfaz del evento de Calendario del complemento en respuesta a los cambios que los usuarios realicen en el evento de Calendario
  • Sincroniza los datos de eventos de Calendario con un sistema de terceros, como un sistema de conferencias conectado a Calendario de Google.

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

Agregar soluciones de conferencia

Las soluciones de conferencia representan opciones de conferencia de terceros que los usuarios pueden adjuntar a eventos del Calendario de Google. En la documentación Descripción general de las conferencias de terceros, se proporcionan detalles sobre cómo compilar un complemento que agregue nuevas soluciones para reuniones. 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 de eventos del Calendario de Google.