Entwicklungswerkzeuge
Jaha Jereshov
Back-End Entwickler
Dezember 29, 2022
Eine Low-Code-Plattform, die die Einfachheit von No-Code mit der Leistungsfähigkeit von Full-Code verbindet 🚀.
Jetzt kostenlos loslegen
Dezember 29, 2022
-
10
min lesen

Erstellen eines neuen Termins im Google Kalender mit Latenode

Jaha Jereshov
Back-End Entwickler
Inhaltsübersicht

Hinweis: Nachdem du neue Knoten in der Latenode Kette eines Projekts hinzugefügt hast, musst du das Projekt ausführen und die Kette mit allen erforderlichen Daten aufrufen, um auf die Daten der vorherigen Knoten zuzugreifen. Daten, die vom Knoten "JavaScript" in den Knoten "HTTP-Anfrage" übertragen werden, müssen oft mit doppelten Anführungszeichen versehen werden. Komplexe Objekte oder Arrays, die als Antwort auf eine Anfrage von einem entfernten Server eingehen und als String vorliegen, müssen von JSON.parse verarbeitet werden, damit sie in den "JavaScript"-Knoten mit dem entsprechenden Datentyp verarbeitet werden können.

Stelle zunächst sicher, dass du das Token gemäß den Anweisungen in unserem Artikel erhältst. Wähle in der Liste der Server nur "Google Calendar Api v..." und im Bereich "www.googleapis.com/auth/calendar " aus;

Als Nächstes erstellst du einen neuen Kalender im Kalender, den wir zum Beispiel "LatenodeTest" nennen können;

Bereiten wir eine Anfrage für unseren Ruhekunden vor;

REQ01: Anfrage für Rest-Client


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=[Ersetze die eckigen Klammern durch den Inhalt deines Tokens]'
--data 'summary=Ereignis erstellt von Latenode'
--data 'location=https://app.latenode.com'
--data 'description=Ein Ereignis von Latenode über die API zum Kalender hinzufügen'
--data 'startDate=2022-12-21T09:00:00-07:00 Änderung zum nächsten Datum'
--data 'startTZ=Europa/Moskau'
--data 'endDate=2022-12-22T09:00:00-07:00 Wechsel zum nächsten Datum' --data 'endDate=2022-12-22T09:00-07:00 Wechsel zum nächsten Datum'
--data 'endTZ=Europa/Moskau'

Ersetzen wir unseren Token, den wir im ersten Schritt erhalten haben;

Ändere das Startdatum "startDate" und das Enddatum "endDate" auf das nächstliegende Datum. Du kannst auch die Zeitzone ändern, wenn sie nicht zu startTZ und endTZ passt;

Erstelle einen "Webhook"-Knoten: "+ Knoten hinzufügen" => "Http" => "Webhook";

Kopiere die Webhook-Adresse und füge sie in die Adressleiste des Restclients ein;

Als nächstes fügen wir einen weiteren Knoten "JavaScrtipt" hinzu: "+ Knoten hinzufügen" => "Code" => "JavaScrtipt";

Speichere die Änderungen;

Binde den Knoten zusammen;

Lass uns die Kette starten und aufrufen, um Daten zwischen den Knoten zu übertragen;

Lass uns den Inhalt hineinkopieren:


  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);

Sparen;

Lass uns den Knoten "HTTP-Anfrage" erstellen: "+ Knoten hinzufügen" => "HTTP" => "HTTP-Anfrage";

Speichere die Änderungen;

Verbinde die Knotenpunkte miteinander;

Lass uns die Kette starten und aufrufen, um Daten zwischen den Knoten zu übertragen;

In das Feld "Url" am Anfang setzen wir die Variable"apiURL" aus "JavaScrtipt" ein und danach geben wir an: /users/me/calendarList ;

Achte darauf, dass die Standardmethode "Get" ist;

Fügen wir den Titel "Autorisierung" und in dessen Wert die Variable"bToken" aus "JavaScrtipt" ein;

Klicke auf "Speichern";

Lass uns einen weiteren Knoten "JavaScrtipt" erstellen: "+ Knoten hinzufügen" => "Code" => "JavaScrtipt";

Speichere die Änderungen;

Verbinde die Knotenpunkte miteinander;

Lass uns die Kette starten und aufrufen, um Daten zwischen den Knoten zu übertragen;

Kopieren wir den Inhalt hinein, um den gewünschten Kalender aus der Liste zu finden, die wir durch die vorherige Abfrage erhalten haben:


  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
  }

Überprüfe die Daten, die in den Kommentaren zum Code angegeben sind;

Speichern

Lass uns den Knoten "HTTP-Anfrage" erstellen: "+ Knoten hinzufügen" => "HTTP" => "HTTP-Anfrage";

Speichere die Änderungen;

Verbinde die Knotenpunkte miteinander;

Lass uns die Kette starten und aufrufen, um Daten zwischen den Knoten zu übertragen;

Im Feld "Url" ersetzen wir am Anfang die Variable"apiURL" aus dem ersten "JavaScrtipt"-Knoten, danach fügen wir hinzu: /calendars/, dann ersetzen wir die Variable"targetCalendar.id" aus "JavaScrtipt" durch die Kalenderlistenverarbeitung, und am Ende: /events;

Ändere die Methode in die "Post"-Methode;

Im Body von "raw": Ersetzen wir die Variable, die das Objekt enthält, durch das neue Ereignis aus dem ersten der ersten "JavaScrtipt"-Knoten;

Fügen wir die Kopfzeile "Autorisierung" und in ihrem Wert die Variable"bToken" aus dem ersten Knoten "JavaScrtipt" ein;

Klicke auf "Speichern";

Verbinde die Knotenpunkte miteinander;

Lass uns die Kette starten und aufrufen, um Daten zwischen den Knoten zu übertragen;

Danach sollte ein neues Ereignis im Kalender erscheinen;

Am Ende der gesamten Kette in Latenode sieht das so aus:

Wir sehen uns in zukünftigen Artikeln;

Nützliche Links:


Basic:

Latenode
Google OAuth 2.0 Spielwiese

Informationen:

Google Kalender API
Google Kalender API CalendarList: Liste
Google Calendar API Event: einfügen

Verwandte Blogs

Anwendungsfall

Unterstützt von