Latenode

Crear un nuevo evento en Google Calendar con Latenode

Crear un nuevo evento en Google Calendar con Latenode

3 min de lectura
Flujo de Latenode para crear eventos en Google Calendar

Nota: Después de añadir nuevos nodos en la cadena de Latenode de un proyecto, para acceder a los datos de los nodos anteriores, debe ejecutar el proyecto y llamar a la cadena con todos los datos necesarios. Los datos sustituidos del nodo "JavaScript" al nodo "HTTP request" a menudo deben escaparse con comillas dobles. Los objetos o matrices complejos recibidos como respuesta a una solicitud desde servidores remotos y que llegan como cadena deben procesarse con JSON.parse para poder trabajar con ellos en los nodos "JavaScript" con el tipo de datos correspondiente.

Primero, asegúrese de obtener el token según las instrucciones de nuestro artículo; solo que en la lista de servidores seleccione "Google Calendar Api v..." y en el ámbito "www.googleapis.com/auth/calendar ";

A continuación, cree un nuevo calendario en Calendar; por ejemplo, podemos llamarlo "LatenodeTest";

Preparemos una solicitud para nuestro cliente REST;

REQ01: Solicitud para el cliente REST


curl --request POST --url 'https://webhook.latenode.com/00/dev/some_hash'
--header 'Accept: application/json'
--header 'Content-Type: application/x-www-form-urlencoded'
--data 'token=[Replace the square brackets with the content of your token]'
--data 'summary=Event created from Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Adding an event to the calendar from Latenode using the API'
--data 'startDate=2022-12-21T09:00:00-07:00 Change to the nearest date'
--data 'startTZ=Europe/Moscow'
--data 'endDate=2022-12-22T09:00:00-07:00 Change to the nearest date'
--data 'endTZ=Europe/Moscow'

Sustituyamos nuestro token obtenido en el paso inicial;

Cambie la fecha de inicio "startDate" y la fecha de finalización "endDate" por las más próximas; también puede cambiar la zona horaria si startTZ y endTZ no son adecuados;

Cree un nodo "Webhook": "+ Add node" => "Http" => "Webhook";

Copie la dirección del Webhook y péguela en la barra de direcciones del cliente REST;

A continuación, añadamos otro nodo "JavaScrtipt": "+ Add Node" => "Code" => "JavaScrtipt";

Guarde los cambios;

Conecte los nodos;

Iniciemos y llamemos a la cadena para transferir datos entre los nodos;

Copiemos el contenido en él:


  const apiURL = "https://www.googleapis.com/calendar/v3";
  const bToken = "Bearer " + data["{{1.body.token}}"];
  const event = {
    'summary': data["{{1.body.summary}}"],
    'location': data["{{1.body.location}}"],
    'description': data["{{1.body.description}}"],
    'start': {
      'dateTime': data["{{1.body.startDate}}"],
      'timeZone': data["{{1.body.startTZ}}"]
    },
    'end': {
      'dateTime': data["{{1.body.endDate}}"],
      'timeZone': data["{{1.body.endTZ}}"]
    },
    'reminders': {
      'useDefault': false,
      'overrides': [
        {'method': 'email', 'minutes': 24 * 60},
        {'method': 'popup', 'minutes': 10}
      ]
    }
  };
  return {
      apiURL, bToken, event
  }

Compruebe en todas las construcciones como "data["{{1.body.name}}"]" que el número de Webhook corresponda al nodo del que obtenemos los datos; de lo contrario, sustitúyalo por el necesario (recuerde que 1 es el número del nodo escrito justo debajo del nombre del nodo, encima del tipo de nodo; después, si se trata de una consulta, se selecciona el campo del objeto responsable del tipo de datos enviados/recibidos: body para formularios o query para parámetros de consulta);

Guarde;

Creemos el nodo "HTTP request": "+ Add node" => "Http" => "HTTP request";

Guarde los cambios;

Conecte los nodos;

Iniciemos y llamemos a la cadena para transferir datos entre los nodos;

En el campo "Url", al principio sustituyamos la variable "apiURL" de "JavaScrtipt" y, después, especifiquemos: /users/me/calendarList ;

Asegúrese de que el método predeterminado sea "Get";

Añadamos el encabezado "Autorization" y, en su valor, la variable "bToken" de "JavaScrtipt";

Haga clic en "Save";

Creemos otro nodo "JavaScrtipt": "+ Add Node" => "Code" => "JavaScrtipt";

Guarde los cambios;

Conecte los nodos;

Iniciemos y llamemos a la cadena para transferir datos entre los nodos;

Copiemos el contenido en él para encontrar el calendario deseado en la lista obtenida de la consulta anterior:


  const tempCalendarsList = JSON.parse(data["{{3.body.items}}"]); // Make sure the information is from the correct node from the calendar list query
  const targetCalendar = tempCalendarsList.find((calendar) => calendar.summary === "LatenodeTest"); // Here instead of "LatenodeTest" you can write the name of the desired calendar
  return {
    targetCalendar
  }

Compruebe los datos especificados en los comentarios del código;

Guarde

Creemos el nodo "HTTP request": "+ Add node" => "Http" => "HTTP request";

Guarde los cambios;

Conecte los nodos;

Iniciemos y llamemos a la cadena para transferir datos entre los nodos;

En el campo "Url", al principio sustituimos la variable "apiURL" del primer nodo "JavaScrtipt"; después añadimos: /calendars/, luego sustituimos la variable "targetCalendar.id" de "JavaScrtipt" con el procesamiento de la lista de calendarios y, al final: /events;

Cambie el método al método "Post";

En el cuerpo de "raw", sustituyamos la variable que contiene el objeto con el nuevo evento del primero de los primeros nodos "JavaScrtipt";

Añadamos el encabezado "Autorization" y, en su valor, la variable "bToken" del primer nodo "JavaScrtipt";

Haga clic en "Save";

Conecte los nodos;

Iniciemos y llamemos a la cadena para transferir datos entre los nodos;

Después de eso, debería aparecer un nuevo evento en el calendario;

Al final, toda la cadena en Latenode tendrá este aspecto:

Nos vemos en futuros artículos;

Enlaces útiles:

Básico:

Latenode
Google OAuth 2.0 Playground

Información:

Google Calendar API
Google Calendar API CalendarList: lista
Google Calendar API Event: insertar

FAQ

Frequently Asked Questions

Seleccione la API de Google Calendar y utilice el permiso www.googleapis.com/auth/calendar al obtener su token siguiendo el artículo de Latenode sobre tokens de Google.

¿Te resultó útil? Compártelo →

Escrito por

Vasiliy Datsenko

Jefe de Soporte al Cliente

Vasiliy Datsenko es Jefe de Soporte al Cliente en Latenode y un escritor de automatización centrado en productos. Su trabajo conecta las conversaciones con los clientes, la investigación sobre automatización de flujos de trabajo, los casos de uso de IA y la educación práctica sobre productos para equipos que intentan automatizar procesos comerciales reales.

Perfil del autor →

Verificado por

Oleg Zankov

CEO Latenode, No-code Expert

Con una ética arraigada en la innovación, la resolución de problemas y la experiencia de usuario, me enfoco en capacitar a los equipos para crear integraciones personalizadas y automatizar flujos de trabajo con facilidad y eficiencia. Trayendo una gran experiencia en desarrollo empresarial, emprendimiento tecnológico y desarrollo de software, reconocí la necesidad de una solución de integración más accesible, escalable y adaptable. Así nació Latenode.com. Con nuestra plataforma, las empresas pueden aprovechar el poder de la tecnología sin necesidad de conocimientos extensos de codificación. Apasionado por fomentar un futuro donde la tecnología nos sirva, y no al revés, mi misión es simplificar procesos complejos. Creo en democratizar la tecnología y equipar a los equipos con las herramientas para innovar, crecer y tener éxito en un mundo cada vez más digital.

Perfil del autor →

Seguir leyendo