Gerenciar calendários e eventos é crucial para muitas aplicações, especialmente quando se integra com serviços populares como Google Calendar e Microsoft 365. Começando com 4D 20 R9, pode facilmente recuperar e acessar calendários e eventos dessas plataformas com os novos comandos 4D NetKit. Se está sincronizando agendas, construindo funcionalidades baseadas em calendário, ou simplesmente obtendo detalhes de eventos, esses comandos permitem uma integração perfeita com serviços Google e Microsoft 365.
Nos exemplos abaixo, vamos recuperar a lista de todos os calendários em uma conta Google Calendar ou Microsoft 365 e todos os eventos associados com o primeiro calendário na lista.
Conexão de conta
Como de costume, antes de usar a API do Google ou da Microsoft, criaremos um objeto de conexão OAuth 2.0:
Para a API do Google:
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($googleCredentials)
$google:=cs.NetKit.Google.new($oAuth2)
Para a API da Microsoft:
var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365
$oAuth2:=cs.NetKit.OAuth2Provider.new($microsoftCredentials)
$office365:=cs.NetKit.Office365.new($oAuth2)
Obter lista de calendários
Antes de recuperar eventos de um calendário específico, é necessário obter o ID do calendário. Para o obter, pode utilizar a função .calendar.getCalendars() para listar todos os calendários associados à sua conta. Ambas as APIs fornecem um método para listar calendários, mas os parâmetros e o objeto devolvido podem diferir entre o Google e a Microsoft.
Para a API do Google
// Obtém todos os calendários
var $calendars:=$google.calendar.getCalendars()
// Para o resto do exemplo vamos usar o primeiro calendário da lista
var $myCaldendar:=$calendars.calendars[0]
Para a API da Microsoft
// Obtém todos os calendários
var $calendars:=$office365.calendar.getCalendars()
// Para o resto do exemplo vamos usar o primeiro calendário da lista
var $myCaldendar:=$calendars.calendars[0]
get eventS list
Podemos agora recuperar os eventos associados a um calendário específico com a função calendar.getEvents(). Ambas as APIs fornecem um método para listar eventos, mas os parâmetros e o objeto devolvido podem diferir entre o Google e a Microsoft.
para a API do Google
// Calcula o intervalo de datas a ser usado
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// Obtém todos os eventos para os calendários selecionados
var $events:=$google.calendar.getEvents({calendarId: $myCalendar.id; top: 100; singleEvents: True; startDateTime: $startDate; endDateTime: $endDate})
para a API da Microsoft
// Calcula o intervalo de datas a ser usado
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// Obtém todos os eventos dos calendários selecionados
var $events:=$office365.calendar.getEvents({calendarId: $myCalendar.id; top: 100; startDateTime: $startDate; endDateTime: $endDate})
Conclusão
Gerenciar calendários e eventos com os novos comandos 4D NetKit em 4D 20 R9 é fácil. Se estiver trabalhando com Google Calendar ou Microsoft 365, pode rapidamente recuperar calendários e eventos enquanto considera as diferenças em como as duas plataformas funcionam. Para mais detalhes, não se esqueça de verificar a documentação 4D NetKit!
E isso é só o começo, mais comandos e funcionalidades estão chegando em breve para tornar suas integrações de calendário ainda mais poderosas.