18/09/13

Google Apps Script

Con questo post voglio inaugurare una nuova serie di post un po' più tecnici del solito su un argomento che mi sta decisamente a cuore. Non preoccupatevi però, la mia intenzione non è solo di fornire sterile nozionismo ma voglio guidare per mano coloro che sono interessati a conoscere l'argomento e fornire comunque un prodotto finito per l'utente finale che potrà saltare le spiegazioni e godersi il risultato finale.

Una serie di post per tutti per poter ottenere il meglio dai prodotti Google.

Iniziamo un attimo a capire cosa di cosa sto parlando: Google Apps Script è un sistema cloud per l'esecuzione di codice JavaScript per estendere le funzionalità delle Google Apps. Detto così sembra Arabo ma un mio collega egiziano mi conferma che non lo è. In pratica Google fornisce la possibilità di scrivere di semplici programmi che vengono eseguiti direttamente sui suoi server collegati ai suoi prodotti. Si può creare uno script che salva gli allegati di mail con una certa etichetta in una cartella su Drive. Si può controllare il calendario e mandare delle mail in base a determinati eventi. Si può creare un template per delle mail in Drive e automatizzare la personalizzazione e l'invio a un gruppo di contatti. Si può fare anche molto di più andando a creare interfacce web per l'interazione umana e elaborare i dati fornendo un feed rss o un json per renderli accessibili a terze parti (o ad applicazioni Android). Si può fare ancora molto di più e sempre in maniera molto semplice e veloce.

Ovviamente ci sono anche delle restrizioni. I nostri script avranno a disposizione delle risorse limitate: una singola esecuzione non può protrarsi oltre i 6 minuti (che è già un bel tempo) quindi dovremo elaborare grosse quantità di dati in più scaglioni. Ci sono anche limitazioni sulle 24 ore, sul traffico generato e su altre cose ma in linea di massima impareremo a convivere con questi limiti creando comunque delle piccole meraviglie (lo stato di funzionamento dei vari servizi e il riepilogo delle quote è consultabile qui).

Ovviamente per raggiungere i massimi livelli di competenza i requisiti sono la conoscenza della lingua Inglese, una mentalità da programmatore e la conoscenza di JavaScript. Il mio obiettivo però è ampliare il più possibile il bacino d'utenza includendo anche chi non abbia alcuno di questi requisiti.

Il modo migliore per iniziare è puntare direttamente su script.google.com

Come si può vedere di default abbiamo una schermata con 3 sezioni:
  •  a sinistra abbiamo la possibilità di sfruttare dei semplici template per utilizzare, velocemente ed in modo guidato, i vari servizi
  • a destra nella metà superiore abbiamo link ad alcuni tutorial
  • a destra in basso abbiamo gli script più recenti che abbiamo aperto
Una volta divenuti degli esperti non avremo più bisogno di questa schermata e potremo evitare di farla comparire ogni volta.

Vi consiglio di provare a selezionare Gmail dalla colonna di sinistra, di dare un'occhiata al codice che viene mostrato e all'ambiente con cui cercherò di farvi familiarizzare nell'arco dei prossimi post.

Questo esempio non vi darà problemi se avete la inbox quasi vuota altrimenti girerà molto a lungo ...
Il mio consiglio è di modificare la riga numero 9 da
for (var i = 0; i < threads.length; i++) {
in
for (var i = 0; i < threads.length && i < 3; i++) {
in questo modo (oltre ad aver fatto la vostra prima modifica a uno script) vi assicurerete che lo script sia eseguito al massimo sulle prime 3 discussioni della vostra inbox.
Il passo successivo è salvare questo nuovo semplice progetto in modo da poterlo testare. Una volta datogli un nome (io l'ho chiamato "test gmail") possiamo aprire il menù "Esegui", cliccare su "processInbox" e ammirare la prima finestra di sicurezza "Autorizzazione richiesta". Uno script per accedere ai dati richiede delle autorizzazioni da parte dell'utente, approfondiremo in seguito. Per ora iniziamo a cliccare su "Continua" e controlliamo nella nuova finestra il dettaglio delle autorizzazioni richieste che in questo caso si limitano a "Visualizza e gestisci la tua posta" (considerando che la funzione in questione andrà a scorrere i messaggi nella inbox e loggare gli oggetti direi che è sensato). Una volta terminata l'esecuzione dal menù "Visualizza" si può accedere al "Log" e troveremo una lista degli oggetti dei messaggi delle discussioni presenti nella nostra inbox (al massimo delle prime 3).

Una volta finiti i vostri test potete rimuovere l'autorizzazione concessa andando qui e cercando il nome del progetto (nel mio caso "test gmail") e cliccando sul pulsante a fianco.

Il prossimo articolo sarà su un mio piccolo adattamento di uno script pubblicato da Google diverso tempo fa incentrato sull'ottimizzazione delle mail ricevute per non essere distratti durante il lavoro ma essere sicuri di non perdere nemmeno una delle mail che vogliamo ricevere.

Spero con questo di aver iniziato a incuriosirvi e di invogliarvi a seguire questa serie di articoli taggati #GAS.
Nel frattempo potete iniziare a dare un'occhiata alla sezione ufficiale sul portale per gli sviluppatori di Google https://developers.google.com/apps-script (in Inglese)

P.S. si, so che alcuni di voi se ne saranno accorti: sto cercando di guadagnarmi il titolo di GDE per Apps Script quindi il vostro apprezzamento, i vostri consigli e le vostre critiche sono ben più che graditi. SONO RICHIESTI !!!

Nessun commento:

Posta un commento