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.
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})
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.