# Calendar outlook y google
## Inquietudes
1. Cuando iniciamos la primera conexión, se traen los eventos de un rango de 2 meses. Pero cómo se actualiza un evento que fue definido para más de dos meses, si no hubo eventos de actualización?
2. ¿Cómo nos aseguramos de tener siempre tokens validos?
## Dudas
- ¿En google no debiese ser automática la actualización de tokens? [lib docs](https://github.com/googleapis/google-api-nodejs-client#handling-refresh-tokens) pero en el app lo hacemos distinto aparentemente handlers.js ln 279
- ¿En microsoft aparentemente no hay problemas al actualizar un token vencido, pero no afecta la subscripción a los eventos?[refresh token](https://docs.microsoft.com/en-us/graph/auth-v2-user?view=graph-rest-1.0#5-use-the-refresh-token-to-get-a-new-access-token)
## Problemas
1. No estamos actualizando correctamente la subscripción de outlook ni google. Solo lo hacemos cuando quedan menos de 10 minutos para la expiración del token de google y 30 minutos de la expiración del token de outlook. y solo cuando nos llega una notificación a event
4. No estamos detectando change notifications de outlook
[Microsoft missing subscriptions and notifications](https://docs.microsoft.com/en-us/graph/webhooks-outlook-authz?context=graph%2Fapi%2F1.0&view=graph-rest-1.0)
## Pedidos
1. Investigar en google cuándo se vencen los tokens y corroborar que se actualizan automáticamente a través de la librería, y cuándo se vence la subscripción y cómo se actualiza. Y evaluar si hay otras razones que cancelan la subscripción o tokens (homólogo de missed outlook notifications) y documentarlo.
2. Recibir notificaciones de `subscriptionRemoved` y `missed` de outlook [Documentación](https://docs.microsoft.com/en-us/graph/webhooks-outlook-authz?view=graph-rest-1.0)
3. Crear un timebased call que llame a los eventos de google y outlook de cada usuario que ha sincronizado la cuenta para evaluar si hay eventos.
## Recursos
[Google Offline access](https://developers.google.com/identity/protocols/OAuth2WebServer#offline)