L'agenda de Google possède lui aussi une classe utilisant des fonctionnalités de création et gestion des événements : CalendarApp. Voici les principale classes et fonctions pour gérer votre Google Calendar :
Cette fonction renvoie la classe CalendarApp correspondant au calendrier via son identifiant . Cet identifiant correspond à une adresse mail pour un agenda lié à un compte et correspondant un identifiant pour un agenda d'équipe
// Récupération du calendrier de dupont@gmail.com
// ***En supposant que vous ayez accès à ce calendrier***
var mon_cal= CalendarApp.getCalendarById("dupont@gmail.com")
// Récupération du calendrier d'équipe
// ***En supposant que vous ayez accès à ce calendrier***
var equipe_cal= CalendarApp.getCalendarById("sango-co.com_classroomd90cb21d@group.calendar.google.com")
Cette fonction renvoie la classe CalendarEvent de l’événement créé
// Créer une événement intitulé Appolo11
// A la date de début du 20 juillet 1969 20H
// A la fin de début du 20 juillet 1969 21H
// Avec la location Lune
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',new Date('July 20, 1969 20:00:00 UTC'),new Date('July 20, 1969 21:00:00 UTC'),{location: 'Lune'});
Cette fonction renvoie un tableau de classe CalendarEvent correspondant aux événements récupérés. L'option search recherche un mot dans l'adresse, la description, le titre ou les invités
//Récupération des événements entre maintenant et deux heures à partir de maintenant et avec le mot clé gestion
var maintenant= new Date();
var twoHoursFromNow = new Date(now.getTime() + (2 * 60 * 60 * 1000));
var events = CalendarApp.getDefaultCalendar().getEvents(maintenant, twoHoursFromNow,{search: 'gestion'});
Cette fonction récupère l'événement via son identifiant et renvoie un objet de classe CalendarEvent
//Récupération d'un événement depuis son identifiant
var event = CalendarApp.getDefaultCalendar().getEventById("8A0AozfhAOn51834zoefh");
Une fois votre événement récupéré, vous pourrez utiliser les fonctions suivantes :
Cette fonction renvoie une chaîne de caractère correspondant à l'identifiant de l'événement
//Récupération d'un événement depuis son identifiant
var event = CalendarApp.getDefaultCalendar().getEventById("8A0AozfhAOn51834zoefh");
//On récupère l'identifiant
var idEvent=event.getId() // renvoie donc 8A0AozfhAOn51834zoefh
Cette fonction permet de supprimer l'événement . Si l’événement est déjà supprimé (i.e. supprimé de la corbeille de Google Agenda) , cette fonction renvoie une erreur
//Récupération d'un événement depuis son identifiant
var event = CalendarApp.getDefaultCalendar().getEventById("8A0AozfhAOn51834zoefh");
//On supprime l'événement
event.deleteEvent() // L'événement est alors dans la corbeille de Google Agenda mais n'est pas totalement supprimé (possibilité de le restaurer)
Cette fonction permet de changer la couleur de l'événement dans Calendar. Les possibilités de couleurs ne sont pas illimitées et sont accessible avec CalendarApp.Color
//Récupération d'un événement depuis son identifiant
var event = CalendarApp.getDefaultCalendar().getEventById("8A0AozfhAOn51834zoefh").setColor(CalendarApp.Color.YELLOW) //Cette ligne colore alors l'événement en jaune.
Cette fonction ajoute un invité sur l'événement et renvoie une variable CalendarEvent
// Créer une événement intitulé Appolo11
// A la date de début du 20 juillet 1969 20H
// A la fin de début du 20 juillet 1969 21H
// Avec la location Lune
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',new Date('July 20, 1969 20:00:00 UTC'),new Date('July 20, 1969 21:00:00 UTC'),{location: 'Lune'});
//Récupération de l'identifiant
var id_event=event.getId()
//Ajout d'un invité sur l'événement récupéré
CalendarApp.getEventById(id_event).addGuest("neil.amstrong@gmail.com")
Ci dessous la liste des lien vers la documentation Google :
Ci dessous la structure de la classe CalendarApp :