Passa ai contenuti principali

Il nostro primo Google Apps Script

Divertiamoci

Spolverate le tastiere e regolate la luminosità dei monitor, oggi si inizia a giocare con i Google Apps Script (per brevità GAS).

Riprendiamo da dove abbiamo lasciato l'ultima volta e creiamo un nuovo script standalone.

Per prima cosa diamo subito un nome al progetto e facciamo si che sia qualcosa di significati, insomma qualcosa tipo "test" o "foo bar" andrà benissimo. Spostiamoci nella parte riservata all'editor e iniziamo a scrivere del codice.

function processInbox() {
  var threads = GmailApp.getInboxThreads(0,5);
  threads.forEach(function(thread){
    var messages = thread.getMessages();
    messages.forEach(function(message){
      Logger.log(message.getSubject());
    });
  });
};

Non provate ad eseguirla subito perché cancella tutta la vostra inbox (scherzo ma aspettate ad eseguirla). La funzione recupera un array con i 5 più recenti thread nella vostra inbox, per ogni thread recupera i suoi messaggi, per ogni messaggio logga l'oggetto di ognuno di questi messaggi.

Autorizzazione

Provando ad eseguirla noterete dei popup con richieste di autorizzazione (non è che si possa accedere a Gmail senza un esplicito permesso per motivi di sicurezza).
Anche se lo script sarà solo a nostro uso e consumo Google non vuole certo lesinare sulla sicurezza e ci tiene a specificare quando qualcosa non è sicuro al 100%
In un prossimo articolo tratterò la procedura di verifica ma per adesso vi basti sapere che dovete fare click su "Avanzate" e successivamente su "Apri [nome progetto] (non sicura)", a questo punto è quasi finita l'odissea e ci vengono presentate le autorizzazione richieste e dobbiamo acconsentire per poter finalmente usare lo script.
Fortunatamente questa procedura ci verra riproposta solo nel caso in cui si vada a modificare lo script e siano necessarie altre autorizzazione (es. per calendar). Google invia anche una mail all'account che ha autorizzato lo script e, in ogni momento, si può rimuovere l'autorizzazione da qui.

Logging

Fino a poco tempo fa avrei dovuto mettervi in guardia sul non usare assolutamente l'oggetto console per loggare ma Google ha integrato il suo strumento di log Stackdriver rendendo possibile salvare gratuitamente i log degli ultimi 7 giorni (a pagamento il limite si estende a 30 giorni) tramite i classici comandi console.log .info .error eccetera.

La differenza tra le due modalità è che tramite Logger i log non persistono a lungo, sono la modalità storica di log per Apps Script e sono indicati principalmente durante la fase di sviluppo e dubug mentre Stackdriver è uno strumento molto più potente e versatile, permette la ricerca tra i log, la creazione di metriche e molto altro ma quando si sta sviluppando qualcosa di nuovo è molto più veloce e pratico limitarsi al sistema di logging nativo. Potete ovviamente sostituire Logger.log con console.log e avere subito un'idea di quello che potete vedere in Stackdriver. Dal menù "Visualizza" potete scegliere se visualizzare il log nativo "Log" o "Stackdriver Logging" e noterete che potrete consultare anche gli errori salvati in "Stackdriver Error Reporting".

Conclusione

Con questo articolo abbiamo scritto la nostra prima funzione, ci siamo imbattuti nelle richieste di autorizzazione e abbiamo scoperto l'esistenza dei diversi metodi di logging. Ovviamente tutti questi argomenti andranno trattati in maniera molto più approfondita meritandosi almeno un articolo a testa. Per il momento spero di aver iniziato a mettervi un po' di curiosità e che vogliate iniziare a sperimentare in autonomia. Ci si vede al prossimo articolo con una panoramica su altri argomenti sperando di spingervi ad avvicinarvi sempre di più a questa incredibile tecnologia.

Come al solito se avete dubbi, curiosità o richieste non siate timidi e fate sentire la vostra voce.

Commenti