Verwalten von Kalenderereignissen mit Microsoft 365 oder Google in 4D: Erstellen, Aktualisieren, Löschen

Automatisch übersetzt von Deepl

Die Arbeit mit Kalenderereignissen ist ein zentraler Bestandteil vieler Geschäftsanwendungen. Ganz gleich, ob Sie eine Teambesprechung organisieren oder den Lebenszyklus eines Ereignisses verwalten, die Möglichkeit, Ereignisse programmatisch zu erstellen, zu aktualisieren und zu löschen, ist unerlässlich.

In diesem Blog-Beitrag zeigen wir Ihnen, wie Sie diese Vorgänge mit den Office365.calendar- oder Google.calendar-Klassen in 4D 20 R10 durchführen können, die auf den APIs Microsoft Graph und Google Calendar basieren.

HDI Kalender-Ereignisverwaltung

Das folgende Beispiel zeigt, wie einfach es ist, mit 4D NetKit ein Meeting in Microsoft oder Google Calendar zu erstellen, zu aktualisieren und zu löschen.

Kontoverbindung

Wie üblich erstellen wir vor der Verwendung von Google oder Microsoft APIs ein OAuth 2.0 Verbindungsobjekt:

Für Google API:

var $oAuth2:=cs.NetKit.OAuth2Provider.new($googleCredentials)
var $google:=cs.NetKit.Google.new($oAuth2)

Für Microsoft API:

var $oAuth2:=cs.NetKit.OAuth2Provider.new($microsoftCredentials)
var $office365:=cs.NetKit.Office365.new($oAuth2)

Erstellen Sie ein Ereignis

Mit der Funktion calendar.createEvent() können Sie ein neues Ereignis in einem Kalender erstellen, entweder im Standardkalender des aktuellen Benutzers oder in einem angegebenen Kalender.

für Google API:

var $myEvent:={start: {}; end: {}}
// Create a one-hour meeting
$myEvent.start.date:=Current date
$myEvent.start.time:=Current time
$myEvent.end.date:=Current date
$myEvent.end.time:=Current time+3600

$myEvent.summary:="My event"
$myEvent.description:="This is an invitation"
$myEvent.attendees:=[{email: "myAttendeeAddress@mail.com"}]
// Meeting creation
$event:=$google.calendar.createEvent($myEvent)

für MICROSOFT API:

var $myEvent:={start: {}; end: {}}
// Create a one-hour meeting
$myEvent.start.date:=Current date
$myEvent.start.time:=Current time
$myEvent.end.date:=Current date
$myEvent.end.time:=Current time+3600
$myEvent.isAllDay:=False

$myEvent.attendees:=[{emailAddress: {address: "myAttendeeAddress@mail.com"}; type: "required"}]
$myEvent.subject:="My event"
$myEvent.body:={content: "This is an invitation body"; contentType: "text"}
// Meeting creation
$event:=$office365.calendar.createEvent($myEvent)

Aktualisieren eines Ereignisses

Mit der Funktion calendar.updateEvent() können Sie ein bestehendes Ereignis ändern. Sie müssen nur die Eigenschaften angeben, die Sie aktualisieren möchten – bestehende, nicht enthaltene Eigenschaften bleiben unverändert.

für Google API:

var $myUpdateEvent:={}
$myUpdateEvent.summary:="My updated subject"
// Meeting update
$event:=$google.calendar.updateEvent($myUpdateEvent)

für MICROSOFT API:

var $myUpdateEvent:={}
$myUpdateEvent.subject:="My updated subject"

// Meeting update
$event:=$office365.calendar.updateEvent($myUpdateEvent)

Löschen eines Ereignisses

Mit der Funktion calendar.deleteEvent() wird ein Termin aus einem Kalender entfernt. Handelt es sich bei dem Termin um eine Besprechung, werden die Teilnehmer automatisch mit einer Absage-Nachricht benachrichtigt. Beide Befehle benötigen die gleichen Parameter:

für Google API:

$status:=$google.calendar.deleteEvent({eventId: $event.event.id})

für MICROSOFT API:

$status:=$office365.calendar.deleteEvent({eventId: $event.event.id})

Schlussfolgerung

Durch die Kombination der Funktionen createEvent, updateEvent und deleteEvent aus dem 4D NetKit können Sie Microsoft 365- oder Google-Kalenderereignisse direkt aus Ihren 4D Anwendungen heraus verwalten. Ganz gleich, ob Sie einen Terminplaner, ein Buchungssystem oder ein benutzerdefiniertes Dashboard erstellen, diese Integration gibt Ihren Benutzern leistungsstarke Werkzeuge an die Hand, um organisiert und verbunden zu bleiben.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.