Future<List<GoogleCalendar.Event>> getGoogleEventsData(String idCalendar) async {
// TODO: PASAR ÉSTO AL LOGIN PARA NO HACER DOBLE SIGNIN O SERIALIZAR EL SIGNIN
// inal GoogleSignIn googleSignIn = new GoogleSignIn();
final GoogleSignInAccount googleUser = await _googleSignIn.signInSilently(); // De esta forma no aparece la ventana emergente ni el amago de aparecer de la ventana de login de Google.
final GoogleHttpClient httpClient =
GoogleHttpClient(await googleUser.authHeaders);
// log("$googleUser");
final GoogleCalendar.CalendarApi calendarAPI = GoogleCalendar.CalendarApi(httpClient, );
// log("${calendarAPI.events.list(idCalendar)}");
final GoogleCalendar.Events calEvents = await calendarAPI.events.list(idCalendar,);
// log("${calEvents.items}");
// final List<GoogleCalendar.Event> appointments = <GoogleCalendar.Event>[];
final List<GoogleCalendar.Event> appointments = <GoogleCalendar.Event>[];
if (calEvents != null && calEvents.items != null) {
for (int i = 0; i < calEvents.items.length; i++) {
final GoogleCalendar.Event event = calEvents.items[i];
if (event.start == null) {
continue;
}
// Para cambiar el color de los eventos, hay que tocarlo en la clase GoogleDataSource, el método getColor, deveolver el color que queramos.
appointments.add(event);
}
}
// Cargamos los eventos generales de familias
final String idCalendarFAM = Utils.getIdCalendario("FAMILIAS");
final GoogleCalendar.Events calEventsFAM = await calendarAPI.events.list(idCalendarFAM);
if (calEventsFAM != null && calEventsFAM.items != null) {
for (int i = 0; i < calEventsFAM.items.length; i++) {
final GoogleCalendar.Event event = calEventsFAM.items[i];
if (event.start == null) {
continue;
}
// Para cambiar el color de los eventos, hay que tocarlo en la clase GoogleDataSource, el método getColor, deveolver el color que queramos.
appointments.add(event);
}
}
// log("${}");
return appointments;
}