// Funció per interaccionar amb el calendari des del microcontrolador // Oriol Boix, 2019 // Sota llicència Creative Commons BY-NC-ND // https://creativecommons.org/licenses/by-nc-nd/3.0/deed.es_ES // // Les variables següents ens permeten personalitzar l'script al nostre projecte // En principi, no hauríem de tocar la resta de l'script var idCal = "rsp0fv05mt9ia5lntfpuj32mmc@group.calendar.google.com"; // Script per interactuar amb el calendari // Funció que s'executa quan hi ha una ordre get function doGet(e) { var salt = "\n"; var cal = CalendarApp.getCalendarById(idCal); if (!cal) { // Si el calendari no existeix o no tenim permís resultat = "Calendari no trobat!"; return ContentService.createTextOutput(resultat); } var ara = new Date(); // La data i l'hora del moment d'executar l'script var final = new Date(); final.setHours(23); // Li canviem l'hora a les 23.59 final.setMinutes(59); // Agafem tots els esdeveniments des d'ara (inclosos els ja iniciats) fins les 23.59 h var esdev = cal.getEvents(ara, final); var numEsdev = esdev.length; // Quants n'hi ha? var resultat = ""; if (numEsdev > 0){ // Hi ha, com a mínim, un esdeveniment resultat = resultat + dades(esdev[0]); // Primer esdeveniment } if (numEsdev > 1){ // Hi ha, com a mínim, un segon esdeveniment resultat = resultat + salt + dades(esdev[1]); // Segon esdeveniment } return ContentService.createTextOutput(resultat); // Enviem la resposta } function dades(esdAct) { // Organitza les dades d'un esdeveniment var descrip = esdAct.getTitle(); // Títol de l'esdeveniment var dataIni = esdAct.getStartTime(); // Data i hora d'inici var dataFi = esdAct.getEndTime(); // Data i hora d'acabament // Ens interessen només les hores d'inici i acabament // i les volem en el format habitual en català var ini = dataIni.getHours() + "." + dataIni.getMinutes(); var fi = dataFi.getHours() + "." + dataFi.getMinutes(); var resul = descrip + "," + ini + "," + fi; return resul; }