Google Calendar

Introducción

El propósito de este manual es detallar cómo configurar e integrar Qflow con Google Calendar para permitir la interacción entre ambas plataformas, permitiendo crear, actualizar y eliminar eventos.

Google calendar cuenta con las siguientes acciones:

Ver Acciones para conocer la descripción y contenido de cada una.

Prerrequisitos

Es necesario contar con una cuenta de Google y un espacio de trabajo creado en la plataforma. Esto puede hacerse desde aquí.

Además, es necesario contar con una cuenta de Google Workspace y tener habilitada la Delegación en todo el dominio. Esto puede habilitarse en su consola de Administración.

Parámetro de aplicación

Para entablar la conexión es necesario contar con al menos un parámetro de aplicación (ver Parámetros de aplicación) que permita establecer la comunicación entre Qflow y Google Calendar. Este parámetro puede ser creado desde la configuración de la tarea de servicio en Qflow. (ver Configuración de Conectores desde una Tarea de Servicio)

Para crear un parámetro de aplicación de Google Calendar, se requieren los siguientes pasos que se detallan a continuación.

Parámetro de aplicación utilizando Delegación en todo el Dominio

Este tipo de parámetro de aplicación requiere los siguientes parámetros:

  • Email de usuario

  • Id de proyecto

  • Id de clave privada

  • Clave privada

  • Email cliente

  • Id cliente

Para obtenerlos, se deben seguir los siguientes pasos:

  1. Acceder al Manejador de recursos. Aquí crearemos un nuevo proyecto seleccionando CREAR PROYECTO.

    _images/CreateProjectButton.png

    Figura 1251 Botón CREAR PROYECTO en el manejador de recursos de Google Cloud

  2. Escribir el nombre del proyecto y seleccionar la Ubicación al que pertenecerá, luego seleccionar CREAR. En el ejemplo de la imagen a continuación, se muestra que la aplicación se llama QflowTestWiki y no pertenece a alguna organización.

    _images/ProjectName.png

    Figura 1252 Vista de creación de proyecto en Google Cloud

  3. Seleccionar en el combobox superior nuestro nuevo proyecto.

    _images/SelectProject.png

    Figura 1253 Vista de selección de proyecto en Google Cloud

  4. En la barra superior buscamos Google Calendar API, entramos y posteriormente clicamos en HABILITAR para habilitar dicha API en nuestro proyecto.

    _images/GoogleCalendarAPI.png

    Figura 1254 Botón para habilitar Google Calendar API en nuestro proyecto de Google Cloud

  5. En la barra superior buscamos Cuentas de servicio y procederemos a crear una cuenta de servicio, encargada de la ejecución de nuestras interacciones. Para esto seleccionamos CREAR CUENTA DE SERVICIO.

    _images/CreateServiceAccount.png

    Figura 1255 Opción para crear una cuenta de servicio en Google Cloud

  6. Aquí deberemos completar ID de la cuenta de servicio. Recomendamos además completar Nombre de la cuenta de servicio y la Descripción de la cuenta de servicio como se muestra en la imagen siguiente.

    _images/CreateServiceAccount2.png

    Figura 1256 Campos de cuenta de servicio en Google Cloud

  7. Volver a la vista de Service Accounts, seleccionar la cuenta de servicio creada y en la sección de Acciones seleccionamos Adminsitrar claves.

    _images/ManageKeys.png

    Figura 1257 Opción de Manage Keys para cuenta de servicio en Google Cloud

  8. En esta nueva ventana vamos a seleccionar la opción Crear clave nueva dentro del combobox de AGREGAR CLAVE.

    _images/CreateNewKey.png

    Figura 1258 Opción de creación de nueva clave para cuenta de servicio en Google Cloud

  9. Aquí seleccionamos la opción de JSON y procedemos a crear la clave. Automáticamente se descargará un archivo JSON con la clave privada generada.

    _images/SelectJSONKey.png

    Figura 1259 Selección de tipo de clave privada

    _images/GeneratedKey.png

    Figura 1260 Mensaje de descarga de clave generada en Google Cloud

  10. Debemos anotarnos el ID de cliente de OAuth 2 que se encuentra en la vista de service accounts como identifica la siguiente imagen:

    _images/ClientId.png

    Figura 1261 ID de cliente de OAuth 2 de cuenta de servicio en Google Cloud

  11. Ahora pasaremos a brindarle a nuestra cuenta de servicio los permisos necesarios para su correcto funcionamiento, dentro de nuestra consola de administrador de Google Workspace. Para esto vamos a Controles de API y seleccionamos ADMINISTRAR LA DELEGACIÓN DE TODO EL DOMINIO.

    _images/DomainWideDelegationButton.png

    Figura 1262 Opción para configurar delegación en todo el dominio en Google Workspace

  12. Aquí seleccionamos Agregar nuevo para agregar un nuevo cliente en nuestra configuración de delegación en todo el dominio.

    _images/DomainWideDelegationAddNewButton.png

    Figura 1263 Botón para agregar nuevo cliente en configuración de delegación en todo el dominio

  13. Procedemos a rellenar los campos ID de cliente y Permisos de OAuth con el client ID asociado a la cuenta de servicio que creamos anteriormente y en Permisos de OAuth agregamos únicamente https://www.googleapis.com/auth/calendar.events.

    _images/AddClientDomainWideDelegationAuth.png

    Figura 1264 Rellenado de campos de cuenta de servicio para autorizar permisos en dominio

  14. Finalmente, en el listado de Clientes de API deberemos ver nuestro nuevo cliente agregado con el permiso anterior en su listado.

    _images/AddedApiClient.png

    Figura 1265 Nueva cuenta de servicio en listado de Clientes de API

Una vez completados los pasos anteriores, será posible crear, actualizar y eliminar eventos en Google Calendar desde Qflow.

Acciones

Se pueden realizar las siguientes acciones con Google Calendar:

Crear evento

Esta acción permite generar un nuevo evento sobre el calendario de Google seleccionado. Se debe proporcionar una fecha y hora de inicio y fin y además un email asociado al organizador del evento. Opcionalmente, se pueden agregar título, descripción, ubicación, lista de invitados y id de calendario. Además permite generar en conjunto del evento un Google Meet asociado al mismo y se permite marcar si cualquier usuario se puede autoagregar al evento.

Tabla 40 Entradas

Entrada

Descripción

Email del Organizador

Requerido. Email que aparecerá como el organizador del evento.

Fecha de inicio

Requerido. Fecha y hora de inicio del evento.

Fecha de fin

Requerido. Fecha y hora de fin del evento.

Título

Título del evento.

Descripción

Descripción del evento.

Ubicación

Ubicación del evento.

Generar meet con evento

Permite generar una Google Meet asociado al evento.

Cualquier usuario puede autoagregarse

Permite establecer si cualquier usuario puede autoagregarse al evento.

Lista de invitados

Lista de mails asociados a los invitados del evento.

Id de calendario

Id específico del calendario en el cual se creará el evento.

Tabla 41 Salidas

Salida

Descripción

Id del evento

Id generado por Google, asociado al evento.

Actualizar evento

Esta acción permite actualizar un evento ya existente sobre el calendario de Google seleccionado. Se debe proporcionar una fecha y hora de inicio y fin, un email asociado al organizador del evento y el id del evento a actualizar. Opcionalmente, se pueden agregar título, descripción, ubicación, lista de invitados y id de calendario. Además, permite generar, mantener o eliminar una Google Meet asociada al evento en caso que exista y se permite seleccionar si cualquier usuario puede o no autoagregarse al evento.

Tabla 42 Entradas

Entrada

Descripción

Email del organizador del evento

Requerido. Email que aparecerá como el organizador del evento.

Fecha de inicio

Requerido. Fecha y hora de inicio del evento.

Fecha de fin

Requerido. Fecha y hora de fin del evento.

Id del evento

Requerido. Id del evento a modificar.

Título

Título del evento.

Descripción

Descripción del evento.

Ubicación

Ubicación del evento.

Generar meet con evento

Permite generar una Google Meet asociado al evento.

Cualquier usuario puede autoagregarse

Permite establecer si cualquier usuario puede autoagregarse al evento.

Lista de invitados

Lista de mails asociados a los invitados del evento.

Id de calendario

Id específico del calendario en el cual se modificará el evento.

Tabla 43 Salidas

Salida

Descripción

Id del evento

Id del evento actualizado.

Eliminar evento

Esta acción permite eliminar un evento del calendario de Google seleccionado. Se debe proporcionar un email asociado al organizador del evento y el id del evento a eliminar. Opcionalmente, se pueden especificar el id del calendario al cual pertenece el evento a eliminar.

Tabla 44 Entradas

Entrada

Descripción

Email del organizador del evento

Requerido. Email del Organizador del evento

Id del evento

Requerido. Id del evento a eliminar.

Id de calendario

Id específico del calendario en el cual se eliminará el evento.