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 del 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 compila 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, 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 muestra en el Calendario de Google.
  • 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 de Calendario del complemento

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 extender la interfaz de eventos del Calendario para obtener más información.
  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 los 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 del 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. Se llama automáticamente a esta función para compilar la página principal del Calendario de Google cuando sea necesario. Debes implementar esta función para compilar y mostrar un solo 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 de evento para adaptar la construcción de la página principal.

Cómo extender la interfaz de eventos de Calendario

El Calendario de Google se basa en un activador contextual para determinar qué interfaz (si la hay) se mostrará cuando el usuario edite un evento del 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.

Cómo actualizar 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 modificación del evento de Calendario.

Por lo general, calendar.eventUpdateTrigger se usa para hacer 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 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 alcance 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 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 del evento del Calendario de Google.