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


