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 del Calendario. Esto te permite proporcionarle al usuario información relevante adicional, automatizar 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 una específica para el Calendario de Google.

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

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 evento 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 crea y muestra una tarjeta de la página principal en el Calendario. Si no se define una función calendar.homepageTrigger, se mostrará 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, este ejecuta la función eventOpenTrigger correspondiente (si está presente). Esta función compila la interfaz del evento de Calendario del complemento y regresa al Calendario de Google para su visualización.
  • Si el complemento define una función eventAttachmentTrigger, este aparece como un proveedor de archivos adjuntos cuando el usuario hace 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 del Calendario. También decide si quieres proporcionar una interfaz personalizada mientras el usuario está editando eventos del 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 del 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 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, asegúrate de que haya un campo addOns.calendar en el manifiesto del complemento.

Como alternativa, agrega un elemento 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 objeto Card o un array de objetos Card que conforman 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 del evento para adaptar la construcción de la página principal.

Cómo extender la interfaz del evento 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 se activa el activador, se ejecuta la función de activador 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 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 eventos

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 del activador puede usar la información de este objeto de evento para determinar cómo construir tarjetas de complementos o controlar el comportamiento de los complementos. Los objetos de evento también se crean y pasan a las funciones de homepageTrigger cuando se abre un complemento por primera vez y cuando el usuario hace clic en widgets interactivos o los selecciona.

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

Actualizando eventos del Calendario

Además del 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 conferencias diferente.

Cuando se activa este activador, 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, calendar.eventUpdateTrigger se usa 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
  • 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 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.

Cómo agregar soluciones de conferencias

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