Bonjour,
T'as raison DJ Momo, autant que ça serve à d'autres, voilà donc le code en question. J'ai mis XXX sur l'adresse mail, le login et le mdp. Actuellement avec ce code, je reçois un mail d'erreur.
Le calendrier sous google agenda s'appelle donc Domotique.
Petite question annexe: sous le périphérique "journée en cours" il n'est pas possible d'ajouter un autre type de journée, comment faire (si c'est possible) pour configurer un autre type de journée?
Merci beaucoup de vos retours.
- Code : Tout sélectionner
function Calendrier()
{
var DateDebut = new Date();
var DateFin = new Date();
var resultat;
var API_Periph;
var API_Valeur;
DateDebut.setTime(DateFin.getTime() - (5*60*1000)); //20 minutes de moins que DateFin
var Cal = CalendarApp.getCalendarsByName('Domotique')[0];
var Events = Cal.getEvents(DateDebut, DateFin);
/*API des périphériques EEDOMUS
Journée en cours : 36978
*/
for (i in Events)
{
var Titre = Events[i].getTitle(); // On récupère le titre de l'évènement
var Description = Events[i].getDescription(); // On récupère la description de l'évènement
var Error = null; // On initialise le retour d'erreur à null
if (Description.indexOf("Action réalisée le") == -1) // Si la description de l'évènement contient "Action réalisée le" alors aucune action
{
switch(Titre)
{
case "travail" :
Error = Error || AppelAPI("36978","1"); // Journée de travail
break;
case "maison" :
Error = Error || AppelAPI("36978","2"); // Journée à la maison
break;
case "vacances" :
Error = Error || AppelAPI("36978","3"); // Journée de vacances
}
var Maintenant = new Date();
if (Error == false)
{
Events[i].setDescription("Action réalisée le " + Maintenant.toLocaleString()); // Inscrit "Action réalisée le" + date dans le descriptif de l'événement pour éviter qu'il ne se reproduise
}
else if (Error == true)
{
if (Description.indexOf("Erreur lors de l'appel d'une API eedomus") < 0)
{
Events[i].setDescription("Erreur lors de l'appel d'une API eedomus le " + Maintenant.toLocaleString()); // Inscrit "Erreur lors de l'appel d'une API" + date dans le descriptif de l'évènement pour éviter qu'il ne se reproduise
// envoi d'un mail de rapport d'erreur
MailApp.sendEmail("XXX@gmail.com", "Erreur du script domotique", "Une erreur s'est produite lors à la réalisation de l'évènement [" + Titre + "]");
}
}
}
}
}
function AppelAPI(PeriphID, PeriphValue)
{
var Reponse;
Reponse = UrlFetchApp.fetch("http://api.eedomus.com/set?action=periph.value&periph_id=" + PeriphID + "&value=" + PeriphValue + "&api_user=XXX&api_secret=XXX");
Reponse = Reponse.getContentText();
Logger.log (Reponse);
return(Reponse.indexOf("error_code") >= 0);
}