La gestione di calendari ed eventi è fondamentale per molte applicazioni, soprattutto quando si integrano con servizi popolari come Google Calendar e Microsoft 365. A partire da 4D 20 R9, è possibile recuperare e accedere facilmente a calendari ed eventi da queste piattaforme con i nuovi comandi 4D NetKit. Che si tratti di sincronizzare orari, creare funzioni basate sul calendario o semplicemente recuperare i dettagli di un evento, questi comandi consentono un’integrazione perfetta con i servizi di Google e Microsoft 365.
Negli esempi che seguono, recupereremo l’elenco di tutti i calendari di un account Google Calendar o Microsoft 365 e tutti gli eventi associati al primo calendario dell’elenco.
Connessione all’account
Come di consueto, prima di utilizzare le API di Google o Microsoft, creeremo un oggetto di connessione OAuth 2.0:
Per Google API:
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($googleCredentials)
$google:=cs.NetKit.Google.new($oAuth2)
Per Microsoft API:
var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365
$oAuth2:=cs.NetKit.OAuth2Provider.new($microsoftCredentials)
$office365:=cs.NetKit.Office365.new($oAuth2)
Ottenere l’elenco dei calendari
Prima di recuperare gli eventi di un calendario specifico, è necessario ottenere l’ID del calendario. Per ottenerlo, è possibile utilizzare la funzione .calendar.getCalendars() per elencare tutti i calendari collegati al proprio account. Entrambe le API forniscono un metodo per elencare i calendari, ma i parametri e l’oggetto restituito possono differire tra Google e Microsoft.
Per l’API di 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]
per Microsoft API
// 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]
ottieni elenco eventi
Ora possiamo recuperare gli eventi collegati a un calendario specifico con la funzione calendar.getEvents(). Entrambe le API forniscono un metodo per elencare gli eventi, ma i parametri e l’oggetto restituito possono differire tra Google e Microsoft.
per l’API di 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})
per 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})
Conclusione
La gestione di calendari ed eventi con i nuovi comandi 4D NetKit in 4D 20 R9 è facile. Sia che si lavori con Google Calendar che con Microsoft 365, è possibile recuperare rapidamente calendari ed eventi tenendo conto delle differenze di funzionamento delle due piattaforme. Per maggiori dettagli, non dimenticate di consultare la documentazione di 4D NetKit!
E questo è solo l’inizio: altri comandi e funzioni sono in arrivo per rendere le vostre integrazioni di calendario ancora più potenti.