Gérer les événements du calendrier avec Microsoft 365 ou Google en 4D : Créer, mettre à jour, supprimer

Traduit automatiquement de Deepl

L’utilisation d’événements de calendrier est au cœur de nombreuses applications professionnelles. Que vous organisiez une réunion d’équipe ou que vous gériez le cycle de vie d’un événement, il est essentiel de pouvoir créer, mettre à jour et supprimer des événements par programmation.

Dans cet article de blog, nous verrons comment effectuer ces opérations en utilisant les classes Office365.calendar ou Google.calendar fournies dans 4D 20 R10, alimentées par les API Microsoft Graph et Google Calendar.

Gestion des événements du calendrier HDI

Voyons à quel point il est simple de créer, mettre à jour et supprimer une réunion dans le calendrier Microsoft ou Google à l’aide de 4D NetKit, à l’aide des exemples ci-dessous.

Connexion au compte

Comme d’habitude, avant d’utiliser les API de Google ou de Microsoft, nous allons créer un objet de connexion OAuth 2.0:

Pour l’API Google :

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

Pour l’API Microsoft :

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

Créer un événement

La fonction calendar.createEvent() permet de créer un nouvel événement dans un calendrier, soit dans le calendrier par défaut de l’utilisateur actuel, soit dans un calendrier spécifié.

pour l’API Google : 

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)

pour l’API MICROSOFT :

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)

Mise à jour d’un événement

La fonction calendar.updateEvent() permet de modifier un événement existant. Vous ne devez fournir que les propriétés que vous souhaitez mettre à jour – les propriétés existantes qui ne sont pas incluses restent inchangées.

pour L’API Google :

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

pour L’API MICROSOFT :

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

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

Supprimer un événement

La fonction calendar.deleteEvent() permet de supprimer un événement d’un calendrier. S’il s’agit d’une réunion, les participants sont automatiquement informés par un message d’annulation. Les deux commandes prennent les mêmes paramètres :

pour l’API Google :

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

pour l’API MICROSOFT :

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

Conclusion

En combinant les fonctions createEvent, updateEvent et deleteEvent de 4D NetKit, vous pouvez gérer entièrement les événements du calendrier Microsoft 365 ou Google directement à partir de vos applications 4D. Que vous construisiez un planificateur de réunions, un système de réservation ou un tableau de bord personnalisé, cette intégration offre à vos utilisateurs des outils puissants pour rester organisés et connectés.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.