Hinweis: Nachdem Sie neue Nodes zur Latenode-Kette eines Projekts hinzugefügt haben, müssen Sie das Projekt ausführen und die Kette mit allen erforderlichen Daten aufrufen, um auf die Daten der vorherigen Nodes zuzugreifen. Daten, die aus einem „JavaScript“-Node in einen „HTTP request“-Node übernommen werden, müssen häufig mit doppelten Anführungszeichen maskiert werden. Komplexe Objekte oder Arrays, die als Antwort auf Anfragen von Remote-Servern eingehen und als String vorliegen, müssen mit JSON.parse verarbeitet werden, damit Sie in „JavaScript“-Nodes mit ihnen als entsprechendem Datentyp arbeiten können.
Stellen Sie zunächst sicher, dass Sie das Token gemäß den Anweisungen in unserem Artikel erhalten. Wählen Sie lediglich in der Serverliste „Google Calendar Api v...“ und im Bereich „www.googleapis.com/auth/calendar “ aus;
Erstellen Sie als Nächstes einen neuen Kalender in Calendar, den wir beispielsweise „LatenodeTest“ nennen können;
Bereiten wir eine Anfrage für unseren REST-Client vor;
REQ01: Anfrage für den 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=[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'
Ersetzen Sie unser Token durch das Token, das Sie im ersten Schritt erhalten haben;
![]()
Ändern Sie das Startdatum „startDate“ und das Enddatum „endDate“ auf die nächstgelegenen Daten. Sie können auch die Zeitzone ändern, falls startTZ und endTZ nicht passend sind;
![]()
Erstellen Sie einen „Webhook“-Node: „+ Add node“ => „Http“ => „Webhook“;
Kopieren Sie die Webhook-Adresse und fügen Sie sie in die Adressleiste Ihres REST-Clients ein;
![]()
![]()
Fügen Sie anschließend einen weiteren „JavaScrtipt“-Node hinzu: „+ Add Node“ => „Code“ => „JavaScrtipt“;
Speichern Sie die Änderungen;
Verbinden Sie die Nodes miteinander;
Starten Sie den Workflow und rufen Sie die Kette auf, um Daten zwischen den Nodes zu übertragen;
Kopieren Sie den folgenden Inhalt hinein:
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
}
Prüfen Sie in allen Konstruktionen wie „data["{{1.body.name}}"]“, ob die Nummer des Webhooks dem Node entspricht, von dem Sie Daten erhalten. Falls nicht, ersetzen Sie sie durch die erforderliche Nummer. Zur Erinnerung: 1 ist die Node-Nummer, die direkt unter dem Node-Namen über dem Node-Typ steht. Bei einer Anfrage wird anschließend das Objektfeld ausgewählt, das für den Typ der gesendeten bzw. empfangenen Daten zuständig ist – body für Formulare oder query für Abfrageparameter;
![]()
Speichern Sie die Änderungen;
Erstellen Sie den Node „HTTP request“: „+ Add node“ => „Http“ => „HTTP request“;
Speichern Sie die Änderungen;
Verbinden Sie die Nodes miteinander;
Starten Sie den Workflow und rufen Sie die Kette auf, um Daten zwischen den Nodes zu übertragen;
Fügen Sie im Feld „Url“ am Anfang die Variable „apiURL“ aus „JavaScrtipt“ ein und geben Sie anschließend Folgendes an: /users/me/calendarList ;
Stellen Sie sicher, dass als Standardmethode „Get“ ausgewählt ist;
Fügen Sie den Header „Authorization“ hinzu und verwenden Sie als Wert die Variable „bToken“ aus „JavaScrtipt“;
Klicken Sie auf „Save“;
![]()
Erstellen Sie einen weiteren „JavaScrtipt“-Node: „+ Add Node“ => „Code“ => „JavaScrtipt“;
Speichern Sie die Änderungen;
Verbinden Sie die Nodes miteinander;
Starten Sie den Workflow und rufen Sie die Kette auf, um Daten zwischen den Nodes zu übertragen;
Kopieren Sie den folgenden Inhalt hinein, um den gewünschten Kalender aus der Liste zu finden, die Sie mit der vorherigen Anfrage 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
}
Prüfen Sie die Daten, die in den Kommentaren zum Code angegeben sind;
Speichern Sie die Änderungen;
Erstellen Sie den Node „HTTP request“: „+ Add node“ => „Http“ => „HTTP request“;
Speichern Sie die Änderungen;
Verbinden Sie die Nodes miteinander;
Starten Sie den Workflow und rufen Sie die Kette auf, um Daten zwischen den Nodes zu übertragen;
Fügen Sie im Feld „Url“ am Anfang die Variable „apiURL“ aus dem ersten „JavaScrtipt“-Node ein. Ergänzen Sie anschließend: /calendars/, fügen Sie dann die Variable „targetCalendar.id“ aus „JavaScrtipt“ mit der Verarbeitung der Kalenderliste ein und ergänzen Sie am Ende: /events;
Ändern Sie die Methode zu „Post“;
Fügen Sie im Bereich „raw“ des Bodys die Variable ein, die das Objekt mit dem neuen Event aus dem ersten „JavaScrtipt“-Node enthält;
Fügen Sie den Header „Authorization“ hinzu und verwenden Sie als Wert die Variable „bToken“ aus dem ersten „JavaScrtipt“-Node;
Klicken Sie auf „Save“;
![]()
Verbinden Sie die Nodes miteinander;
Starten Sie den Workflow und rufen Sie die Kette auf, um Daten zwischen den Nodes zu übertragen;
Danach sollte ein neues Event im Kalender erscheinen;
![]()
Am Ende sollte die gesamte Kette in Latenode wie folgt aussehen:
![]()
Bis zu den nächsten Artikeln;
Nützliche Links:
Grundlagen:
Latenode
Google OAuth 2.0 Playground
Informationen:
Google Calendar API
Google Calendar API CalendarList: list
Google Calendar API Event: insert


