Latenode

Créer un nouvel événement dans Google Calendar avec Latenode

Créer un nouvel événement dans Google Calendar avec Latenode

4 min de lecture
Interface d’automatisation Latenode créant un événement Google Calendar

Remarque : après avoir ajouté de nouveaux nœuds dans la chaîne Latenode d’un projet, pour accéder aux données des nœuds précédents, vous devez exécuter le projet et appeler la chaîne avec toutes les données nécessaires. Les données substituées depuis le nœud « JavaScript » dans le nœud « HTTP request » doivent souvent être échappées avec des guillemets doubles. Les objets complexes ou tableaux reçus en réponse à une requête depuis des serveurs distants et transmis sous forme de chaîne de caractères doivent être traités avec JSON.parse afin de pouvoir les utiliser dans les nœuds « JavaScript » avec le type de données correspondant.

Tout d’abord, assurez-vous d’obtenir le jeton en suivant les instructions de notre article. Dans la liste des serveurs, sélectionnez uniquement « Google Calendar Api v... » et, dans le champ d’autorisation, « www.googleapis.com/auth/calendar » ;

Ensuite, créez un nouveau calendrier dans Calendar, que vous pouvez par exemple appeler « LatenodeTest » ;

Préparons une requête pour notre client REST ;

REQ01 : Requête pour le client 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'

Remplaçons notre jeton par celui obtenu à l’étape initiale ;

Modifiez la date de début « startDate » et la date de fin « endDate » pour utiliser les dates les plus proches. Vous pouvez également modifier le fuseau horaire s’il ne convient pas, dans startTZ et endTZ ;

Créez un nœud « Webhook » : « + Add node » => « Http » => « Webhook » ;

Copiez l’adresse du Webhook et collez-la dans la barre d’adresse du client REST ;

Ensuite, ajoutons un autre nœud « JavaScript » : « + Add Node » => « Code » => « JavaScript » ;

Enregistrez les modifications ;

Reliez les nœuds entre eux ;

Démarrons et appelons la chaîne afin de transférer les données entre les nœuds ;

Copiez le contenu suivant dans le nœud :


  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
  }

Vérifiez dans toutes les constructions telles que data["{{1.body.name}}"] que le numéro du Webhook correspond bien à celui dont vous récupérez les données. Si ce n’est pas le cas, remplacez-le par le numéro requis. Pour rappel, 1 est le numéro du nœud affiché juste sous le nom du nœud, au-dessus du type de nœud. S’il s’agit d’une requête, sélectionnez ensuite le champ de l’objet correspondant au type de données envoyées ou reçues : body pour les formulaires ou query pour les paramètres de requête ;

Enregistrez ;

Créons le nœud « HTTP request » : « + Add node » => « Http » => « HTTP request » ;

Enregistrez les modifications ;

Reliez les nœuds entre eux ;

Démarrons et appelons la chaîne afin de transférer les données entre les nœuds ;

Dans le champ « Url », ajoutez au début la variable apiURL du nœud « JavaScript », puis indiquez : /users/me/calendarList ;

Assurez-vous que la méthode par défaut est « Get » ;

Ajoutez l’en-tête « Autorization » et, comme valeur, la variable bToken du nœud « JavaScript » ;

Cliquez sur « Save » ;

Créons un autre nœud « JavaScript » : « + Add Node » => « Code » => « JavaScript » ;

Enregistrez les modifications ;

Reliez les nœuds entre eux ;

Démarrons et appelons la chaîne afin de transférer les données entre les nœuds ;

Copiez le contenu suivant dans le nœud afin de trouver le calendrier souhaité dans la liste obtenue lors de la requête précédente :


  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
  }

Vérifiez les données indiquées dans les commentaires du code ;

Enregistrez

Créons le nœud « HTTP request » : « + Add node » => « Http » => « HTTP request » ;

Enregistrez les modifications ;

Reliez les nœuds entre eux ;

Démarrons et appelons la chaîne afin de transférer les données entre les nœuds ;

Dans le champ « Url », ajoutez au début la variable apiURL du premier nœud « JavaScript », puis ajoutez : /calendars/. Insérez ensuite la variable targetCalendar.id du nœud « JavaScript » qui traite la liste des calendriers, puis terminez par : /events ;

Remplacez la méthode par « Post » ;

Dans le corps de la requête « raw », insérez la variable contenant l’objet du nouvel événement depuis le premier nœud « JavaScript » ;

Ajoutez l’en-tête « Autorization » et, comme valeur, la variable bToken du premier nœud « JavaScript » ;

Cliquez sur « Save » ;

Reliez les nœuds entre eux ;

Démarrons et appelons la chaîne afin de transférer les données entre les nœuds ;

Après cela, un nouvel événement devrait apparaître dans le calendrier ;

À la fin, l’ensemble de la chaîne dans Latenode ressemblera à ceci :

À bientôt dans de prochains articles ;

Liens utiles :

Essentiels :

Latenode
Google OAuth 2.0 Playground

Informations :

Google Calendar API
Google Calendar API CalendarList : list
Google Calendar API Event : insert

FAQ

Frequently Asked Questions

Sélectionnez l’API Google Calendar et utilisez l’autorisation www.googleapis.com/auth/calendar lors de l’obtention de votre jeton, en suivant l’article de Latenode sur les jetons Google.

Cela vous a aidé ? Partagez-le →

Écrit par

Vasiliy Datsenko

Responsable du support client

Vasiliy Datsenko est responsable du support client chez Latenode et un rédacteur en automatisation axé sur les produits. Son travail relie les conversations clients, la recherche sur l'automatisation des flux de travail, les cas d'utilisation de l'IA et la formation pratique sur les produits pour les équipes cherchant à automatiser des processus métier réels.

Profil de l'auteur →

Vérifié par

Oleg Zankov

PDG de Latenode, expert en no-code

Avec une philosophie ancrée dans l'innovation, la résolution de problèmes et l'expérience utilisateur, je me consacre à donner aux équipes les moyens de créer des intégrations sur mesure et d'automatiser les workflows avec facilité et efficacité. Fort d'une riche expérience en développement commercial, entrepreneurship technologique et développement logiciel, j'ai reconnu le besoin d'une solution d'intégration plus accessible, évolutive et adaptable. Ainsi est né Latenode.com. Grâce à notre plateforme, les entreprises peuvent exploiter la puissance de la technologie sans nécessiter de compétences approfondies en codage. Passionné par la création d'un avenir où la technologie nous sert, et non l'inverse, ma mission est de simplifier les processus complexes. Je crois en la démocratisation de la technologie et en dotant les équipes des outils nécessaires pour innover, croître et réussir dans un monde de plus en plus numérique.

Profil de l'auteur →

Continuer la lecture