4D NetKit: obtener los eventos de los calendarios Google y Microsoft 365

La gestión de calendarios y eventos es crucial para muchas aplicaciones, especialmente cuando se integran con servicios populares como Google Calendar y Microsoft 365. A partir de 4D 20 R9, puede recuperar y acceder fácilmente a calendarios y eventos de estas plataformas con los nuevos comandos 4D NetKit. Ya sea que esté sincronizando calendarios, creando funcionalidades basadas en calendarios, o simplemente obteniendo detalles de eventos, estos comandos permiten una perfecta integración con los servicios de Google y Microsoft 365.

HDI Obtener Calendario

En los siguientes ejemplos, recuperaremos la lista de todos los calendarios de una cuenta de Google Calendar o Microsoft 365 y todos los eventos asociados al primer calendario de la lista.

Conexión a la cuenta

Como es habitual, antes de utilizar la API de Google o Microsoft, crearemos un objeto de conexión OAuth 2.0:

Para la API de Google:

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

Para la API de Microsoft:

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

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

Obtener lista de calendarios

Antes de recuperar los eventos de un calendario específico, necesita obtener el Id del calendario. Para obtenerlo, puede utilizar la función .calendar.getCalendars() para listar todos los calendarios vinculados a su cuenta. Ambas API proporcionan un método para listar calendarios, pero los parámetros y el objeto devuelto pueden diferir entre Google y Microsoft.

Para Google API

// 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]

para 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]

Obtener LA lista de eventos

Ahora podemos recuperar los eventos vinculados a un calendario específico con la función calendar.getEvents(). Ambas API ofrecen un método para listar eventos, pero los parámetros y el objeto devuelto pueden diferir entre Google y Microsoft.

para la 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})

para LA 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

Conclusión

Gestionar calendarios y eventos con los nuevos comandos 4D NetKit en 4D 20 R9 es fácil. Tanto si trabaja con Google Calendar como con Microsoft 365, puede recuperar rápidamente calendarios y eventos teniendo en cuenta las diferencias en el funcionamiento de las dos plataformas. Para más detalles, no olvide consultar la documentación de 4D NetKit.

Y esto es sólo el principio, pronto llegarán más comandos y funcionalidades para que sus integraciones de calendario sean aún más poderosas.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.