4D NetKit : Obtenir les événements des calendriers Google et Microsoft 365

Traduit automatiquement de Deepl

La gestion des calendriers et des événements est cruciale pour de nombreuses applications, en particulier lorsqu’elles s’intègrent à des services populaires tels que Google Calendar et Microsoft 365. À partir de 4D 20 R9, vous pouvez facilement récupérer et accéder aux calendriers et aux événements de ces plateformes grâce aux nouvelles commandes 4D NetKit. Qu’il s’agisse de synchroniser des horaires, de créer des fonctions basées sur le calendrier ou simplement de récupérer les détails d’un événement, ces commandes permettent une intégration transparente avec les services de Google et de Microsoft 365.

HDI Obtenir un calendrier

Dans les exemples ci-dessous, nous allons récupérer la liste de tous les calendriers d’un compte Google Calendar ou Microsoft 365 et tous les événements associés au premier calendrier de la liste.

Connexion au compte

Comme d’habitude, avant d’utiliser l’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
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($googleCredentials)
$google:=cs.NetKit.Google.new($oAuth2)

Pour l’API Microsoft :

var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365

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

Obtenir la liste des calendriers

Avant de récupérer les événements d’un calendrier spécifique, vous devez obtenir l’identifiant du calendrier. Pour l’obtenir, vous pouvez utiliser la fonction .calendar.getCalendars() pour dresser la liste de tous les calendriers liés à votre compte. Les deux API fournissent une méthode pour répertorier les calendriers, mais les paramètres et l’objet renvoyé peuvent différer entre Google et Microsoft.

Pour l’API Google

// Gets all the calendars 
var $calendars:=$google.calendar.getCalendars()
// For the rest of the example, we'll use the first calendar in the list
var $myCaldendar:=$calendars.calendars[0]

pour l’API Microsoft

// Gets all the calendars 
var $calendars:=$office365.calendar.getCalendars()
// For the rest of the example, we'll use the first calendar in the list
var $myCaldendar:=$calendars.calendars[0]

get eventS list

Nous pouvons maintenant récupérer les événements liés à un calendrier spécifique à l’aide de la fonction calendar.getEvents(). Les deux API fournissent une méthode pour dresser la liste des événements, mais les paramètres et l’objet renvoyé peuvent différer entre Google et Microsoft.

pour l’API Google

// Calculates the date range to be used
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// Gets all the event of the selected calendars
var $events:=$google.calendar.getEvents({calendarId: $myCalendar.id; top: 100; singleEvents: True; startDateTime: $startDate; endDateTime: $endDate})

pour l’API Microsoft

// Calculates the date range to be used 
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// Gets all the event of the selected calendars
var $events:=$office365.calendar.getEvents({calendarId: $myCalendar.id; top: 100; startDateTime: $startDate; endDateTime: $endDate})

blank

Conclusion

La gestion des calendriers et des événements avec les nouvelles commandes 4D NetKit dans 4D 20 R9 est facile. Que vous travailliez avec Google Calendar ou Microsoft 365, vous pouvez rapidement récupérer des calendriers et des événements tout en tenant compte des différences de fonctionnement entre les deux plateformes. Pour plus de détails, n’oubliez pas de consulter la documentation 4D NetKit !

Et ce n’est que le début, d’autres commandes et fonctionnalités sont à venir pour rendre vos intégrations de calendriers encore plus puissantes!

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.