Outils de développement
Jaha Jereshov
Développeur back-end
29 décembre 2022
Une plateforme low-code mêlant la simplicité du no-code à la puissance du full-code 🚀
Commence gratuitement
29 décembre 2022
-
10
min lire

Création d'un nouvel événement dans Google Agenda avec Latenode

Jaha Jereshov
Développeur back-end
Table des matières

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, tu dois exécuter le projet et appeler la chaîne avec toutes les données nécessaires. Les données substituées du nœud "JavaScript" au nœud "requête HTTP" doivent souvent être échappées avec des guillemets doubles. Les objets complexes ou les tableaux reçus en réponse à une requête de serveurs distants et qui arrivent sous forme de chaîne doivent être traités par JSON.parse afin de pouvoir les utiliser dans les nœuds "JavaScript" comme s'il s'agissait du type de données correspondant.

Tout d'abord, assure-toi d'obtenir le token conformément aux instructions de notre article, seulement dans la liste des serveurs sélectionne "Google Calendar Api v..." et dans la portée "www.googleapis.com/auth/calendar" ;

Ensuite, crée un nouveau calendrier dans Calendar, nous pouvons l'appeler par exemple "LatenodeTest" ;

Préparons une demande pour notre client de repos ;

REQ01 : Demande de client de repos


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=[Remplacez les crochets par le contenu de votre token]'
--data 'summary=Event created from Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Ajouter un événement au calendrier depuis Latenode en utilisant l'API'
--data 'startDate=2022-12-21T09:00:00-07:00 Changer pour la date la plus proche'
--data 'startTZ=Europe/Moscou'
--data 'endDate=2022-12-22T09:00:00-07:00 Change to the nearest date'
--data 'endTZ=Europe/Moscou'

Remplaçons notre jeton obtenu lors de l'étape du début ;

Change la date de début "startDate" et la date de fin "endDate" au plus proche, tu peux aussi changer le fuseau horaire s'il ne correspond pas à startTZ et endTZ ;

Crée un nœud "Webhook" : "+ Ajouter un nœud" => "Http" => "Webhook" ;

Copie l'adresse du Webhook et colle-la dans la barre d'adresse du client de repos ;

Ensuite, ajoutons un autre nœud "JavaScrtipt" : "+ Ajouter un nœud" => "Code" => "JavaScrtipt" ;

Enregistre les modifications ;

Relie le nœud ensemble ;

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

Copions le contenu à l'intérieur :


  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
  }

Let's check in all constructions like "data["{{1.body.name}}"]" that the number of Webhook corresponds to the one we are getting data from, if not replace it with the necessary one (let me remind you that 1 is the node number written just below the node name above the node type, then if it is a query then the object field responsible for the type of sent/received data is selected - body for forms or query for query parameters);

Sauvegarde ;

Créons le nœud "requête HTTP" : "+ Ajouter un nœud" => "Http" => "requête HTTP" ;

Enregistre les modifications ;

Relie les nœuds entre eux ;

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

Dans le champ "Url" au début, substituons la variable"apiURL" de "JavaScrtipt" et après elle, nous spécifions : /users/me/calendarList ;

Assure-toi que la méthode par défaut est "Get" ;

Ajoutons le titre "Autorization" et dans sa valeur la variable"bToken" de "JavaScrtipt" ;

Clique sur "Enregistrer" ;

Créons un autre nœud "JavaScrtipt" : "+ Ajouter un nœud" => "Code" => "JavaScrtipt" ;

Enregistre les modifications ;

Relie les nœuds entre eux ;

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

Copions-y le contenu, pour trouver le calendrier souhaité dans la liste obtenue à partir 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érifie les données qui sont spécifiées dans les commentaires du code ;

Sauvegarde

Créons le nœud "requête HTTP" : "+ Ajouter un nœud" => "Http" => "requête HTTP" ;

Enregistre les modifications ;

Relie les nœuds entre eux ;

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

Dans le champ "Url" au début nous substituons la variable"apiURL" du premier nœud "JavaScrtipt", après cela nous ajoutons : /calendars/, puis nous remplaçons la variable"targetCalendar.id" de "JavaScrtipt" par le traitement de la liste des calendriers, et à la fin : /events;

Change la méthode pour la méthode "Post" ;

Dans le corps de "raw" : remplaçons la variable contenant l'objet par le nouvel événement du premier du premier nœud "JavaScrtipt" ;

Ajoutons l'en-tête "Autorization" et dans sa valeur la variable"bToken" du premier nœud "JavaScrtipt" ;

Clique sur "Enregistrer" ;

Relie les nœuds entre eux ;

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

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

À la fin de toute la chaîne, sur Latenode , cela ressemblera à ceci :

À bientôt dans les prochains articles ;

Liens utiles :


Basic :

Latenode
Terrain de jeu Google OAuth 2.0

Informations :

Google Calendar API
API Google Agenda CalendarList : liste
Google Calendar API Event : insérer

Blogs associés

Cas d'utilisation

Soutenu par