JavaScript, HTML, CSS e... !
21 commenti

Il primo libro in italiano dedicato allo sviluppo con Google Apps Script!

Punta in alto con... Google Apps Script: per sviluppatori esperti e principianti

Hai sentito parlare di Google Apps Script ma non sai da dove iniziare?
Vorresti automatizzare alcune operazioni sui Fogli di Google o sui Google Form?

Oppure hai già cominciato a metterci mano ma non sai se stai procedendo nel modo giusto?

Ho scritto per te e per chiunque voglia avvicinarsi e approfondire lo sviluppo con il linguaggio di script Google il libro "Punta in alto con... Google Apps Script" disponibile su Amazon.

Si tratta del primo manuale tecnico in italiano dedicato interamente allo sviluppo con Google Apps Script!

punta in alto con google apps script libro italiano

Non mi sono ancora presentato... mi chiamo Michele Pisani, lavoro come Digital Analytics Manager presso una nota azienda Google Partner sul territorio internazionale.
L'esperienza che ho maturato nel settore Digitale unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità ed in tempi decisamente contenuti, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite liberando la quotidianità da noiosissime attività manuali.

Se non hai chiaro quali possono essere le potenzialità dello strumento provo a sintetizzare una risposta alle domande più comuni che solitamente mi vengono poste:

COS'E' GOOGLE APPS SCRIPT?
Google Apps Script è un linguaggio di scripting basato su Javascript che consente, con poche righe di codice, di creare script ed applicazioni che interagiscono con i prodotti della G Suite come Documenti (Google Docs), Fogli (Google Sheets), Presentazioni (Google Slides) e Moduli (Google Forms), di dialogare con altre applicazioni del colosso della Mountain View quali ad esempio Gmail, Calendar, Drive e Youtube nonché creare un ponte tra prodotti Google e servizi di terze parti con la possibilità di automatizzare e schedulare processi.

COSA SI PUO' FARE CON GOOGLE APPS SCRIPT?
Con Google Apps Script, tra le altre cose, puoi:

- Aggiungere menu, finestre di dialogo e barre laterali personalizzate a Documenti, Fogli e Moduli Google.
- Scrivere funzioni personalizzate per i Fogli di Google laddove quelle native non bastino a soddisfare le esigenze del momento.
- Pubblicare applicazioni web, sia autonome che incorporate in Google Sites, disponibili a tutti o ad uso limitato a livello di dominio.
- Interagire con gli altri servizi Google, tra cui AdSense, Analytics, Calendar, Drive, Gmail, Google+, YouTube e Maps.
- Creare componenti aggiuntivi (Add-ons), per estendere i prodotti della G Suite, e pubblicarli nel Chrome Web Store.
- Interfacciarti con database, API e web services esterni per il recupero, l'elaborazione e la gestione di dati.
- Convertire un'app Android in un Add-on per Android per poter scambiare dati con Documenti o Fogli Google di un utente su un dispositivo mobile.

QUALI VANTAGGI OFFRE GOOGLE APPS SCRIPT?
Il primo vantaggio sicuramente è che non è necessario installare alcun ambiente di sviluppo o aggiornare alcuna libreria bensì con qualsiasi browser moderno, è possibile accedere all'editor e scrivere codice.
Il secondo è che non è necessario preoccuparsi di alcuna infrastruttura hardware o servizi di hosting dal momento in cui gli script vengono salvati su Google Drive e la loro esecuzione avviene sui server di Google.
L'utilizzo del Javascript per il collegamento ai vari servizi Google, in termini di righe di codice da scrivere, è estremamente limitato se si pensa che è necessario focalizzarsi meno su come utilizzare le API e più sull'utilizzo di servizi che semplificano la programmazione avendo l'accesso alle API già integrato.
Inoltre, fattore da non trascurare, la gestione dell'autorizzazione OAuth2 in lettura e scrittura è gestita in modo automatico, ovvero non hai bisogno di utilizzare librerie esterne (come ad esempio se tu usassi il PHP o altri linguaggi diffusi per lo sviluppo web) e di gestire chiavi di autenticazione e ambiti di utilizzo delle API da codice in quanto è tutto gestito e gestibile dall'interfaccia dello strumento, per lo più in modo trasparente.

E SE NON CONOSCESSI IL JAVASCRIPT?
L'idea che sta alla base della scrittura di questo libro è quella di permettere, a chiunque abbia una conoscenza di base, anche solo a livello teorico, di HTML, CSS e Javascript, di realizzare progetti ambiziosi, che interagiscono con i prodotti Google o che ne estendono le potenzialità native. Il tutto in breve tempo e con pochissime righe di codice.
Se sei completamente a digiuno o se hai bisogno di ravvivarti le idee su HTML, CSS e Javascript potrai trovare i concetti di base corredati di esempi, orientati al mero scopo di applicarli in Google Apps Script, nel primo capitolo del libro "Punta in alto con... Google Apps Script".

IN CHE MODO IL LIBRO PUO' ESSERMI D'AIUTO?
Gli argomenti trattati ti permetteranno di:

- Realizzare componenti aggiuntivi per Fogli, Documenti e Moduli Google
- Interfacciarti con database, API e servizi esterni di Google o di terze parti
- Automatizzare flussi di lavoro e collegare tra loro gli strumenti della G Suite
- Sviluppare applicazioni web interattive ed interfacce utente usabili
- Ottenere il massimo risultato con il minimo sforzo grazie ai miei consigli su come ottimizzare le prestazioni dei tuoi script!

punta in alto con google apps script libro italiano

Di seguito la tabella dei contenuti del libro!

Contenuti del libro

A chi si rivolge questo libro

Cos'è Google Apps Script

Cosa puoi fare con Google Apps Script

I vantaggi dello sviluppo in Apps Script

Di cosa hai bisogno per iniziare

Glossario

1. Programmazione web per Google Apps Script

Le fondamenta di una pagina web: l’HTML
 Lo scheletro di una pagina web, l’HTML
 Tags HTML di uso frequente

Dai uno stile alle pagine con i fogli di stile
 Aggiungere i CSS all’HTML
 Sintassi per un buon funzionamento dei CSS

I concetti chiave del Javascript
 Aggiungere Javascript all’HTML
 Le variabili
 Tipi di dato, operatori e array
 Istruzioni condizionali, cicli e funzioni

DOM: Document Object Model
 Gli oggetti del DOM

JSON: famoso formato per lo scambio di dati

Conclusioni

 

2. Conosci il campo di battaglia: l’editor di script

Accedere all’editor di script

Il menu, gli strumenti e l’area di lavoro
 Dare un nome al progetto
 La barra dei menu
 La barra degli strumenti
 La barra laterale dei file
 L’area di lavoro

Il file Manifest: cos'è e come gestirlo

Abilitare l'uso delle API dei Servizi Avanzati

Flusso di Autorizzazione dei Google Services

Identificare e risolvere gli errori
 Debug, Log e Trascrizione esecuzione
 Stackdriver Logging e Stackdriver Error Reporting

I Trigger: attivatori di funzioni
 I Trigger semplici
 I Trigger installabili

G Suite Developer Hub

Conclusioni

 

3. Realizza il tuo primo progetto in Apps Script

'Hello world!' in Sheets: standalone vs bound
 Interagire con i Fogli Google con gli script autonomi
 Interagire con i Fogli Google con gli script associati

Funzioni, menu e bottoni personalizzati nei Fogli di Google
 Funzioni personalizzate in Google Sheets con Apps Script
 Menu personalizzati in Spreadsheet e Document
 Bottoni che eseguono script in Spreadsheet

Le macro negli Sheets come in Excel
 Creare una macro in uno Spreasheet

Conclusioni

 

4. Le prestazioni contano: script... e script ottimizzati

Best practice per il miglioramento delle performance
 Utilizzare le operazioni in batch
 Evitare l'inclusione delle librerie negli script
 Utilizzare il servizio CacheService

Centralizzare le funzioni in una libreria
 Gestire le librerie in Apps Script
 Inviare richieste e ricevere risposte con il servizio URL Fetch
 Creare un servizio Whois in 2 minuti con una GET
 Inviare richieste per l’autenticazione a servizi esterni
 Richieste HTTP POST con XML in input e output

Sistemi di memorizzazione dei dati
 Archiviare configurazioni e preferenze utente
 Memorizzare nella Cache: prestazioni > del 900%

Scrivere dati in un Foglio Google in modo performante

A cosa serve Spreadsheet.flush() e quando conviene usarlo

Interfacciarsi con database esterni
 Connettersi ad un Database MySQL
 Connettersi al Database di Firebase
 Connettersi a BigQuery

Conclusioni

 

5. Ottieni il massimo dai prodotti della G Suite

Spreadsheet Service
 Calcolo della marginalità sulle vendite con i Fogli Google
 Metodi Javascript avanzati: map(), reduce() e filter()

Document Service
 Realizzare un dizionario simultaneo in un Google Docs

Form Service
 Aggiungere funzionalità nei componenti aggiuntivi dei Google Forms

Slides Service
 Report in Google Slides generati automaticamente

Drive Service
 Spostare i file tra le cartelle di Google Drive
 Leggere il testo da immagini o file PDF tramite OCR

Calendar Service
 Creare un evento con allegato in Google Calendar in modo automatico

Gmail Service
 Recuperare dati da Gmail e gestirli lato codice

Conclusioni

 

6. Applicazioni Web ed Interfacce Utente

HTML per le Web App e per gli strumenti della G Suite
 HTML per le Web App
 HTML per le interfacce Utente

Comunicazione client-to-server

Scriptlets: pagine dinamiche combinando HTML e google script

Sandbox e restrizioni

Best practice per lo sviluppo di interfacce utente

Creare una semplice Web App con Apps Script

Pagine Multiple in una Web App con Apps Script
 Passaggio da una pagina all’altra per mezzo dei parametri in querystring
 Visualizzare il contenuto di file HTML con l’oggetto document

Agevola lo sviluppo della tua Web App con jQuery 
 Integrare le funzionalità di jQuery e jQueryUI in un’applicazione web
 Elementi grafici, stilistici e responsive con Bootstrap

Rendi le applicazioni più fruibili integrandole in un Google Sites

Non solo applicazioni front-end: Web Service ed Execution API
 Creare un Web Service con doGet() e parametri in querystring
 Distribuire uno script come API eseguibile per interrogarlo da remoto

Conclusioni

Note finali

 

Il libro si chiama "Punta in alto con... Google Apps Script" ed è disponibile su Amazon!

Se sei pronto a diventare un esperto nella programmazione in Google Apps Script non posso fare altro che augurarti una buona lettura e soprattutto... Buon divertimento!

 

SCARICA I CODICI CONTENUTI NEL LIBRO

I codici contenuti nel libro sono scaribabili in forma integrale al seguente link: codici esempi del libro (NOTA: nel rispetto di chi ha dato il suo contribuito acquistando il libro, l'archivio è protetto da password).
La parola chiave si trova all'interno delle parentesi quadre nell'ultima riga dell'ultima pagina del capitolo 2.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

21 Commenti

  1. Friday, February 8, 2019 alle ore 12:52 Stefano

    Salve Pisani! Premetto, come sempre, le mie più sincere congratulazioni per l'opera di assistenza e divulgazione degli ambienti GAS, molto preziosi per un pubblico, come me, poco esperto.
    Ho acquistato di recente il tuo libro che sto leggendo con interesse anche se con qualche difficoltà di apprendimento dovuta sicuramente alla mie conoscenze elementari in questo mondo.
    Vorrei solo sapere semmai fosse possible avere in qualche modo accesso ai numerosi esempi del tuo libro, nel formato digitale in modo da evitare la faticosa opera di trascrizione del codice dalle tue pagine al mio editor. Non so se ho fatto una richiesta troppo azzardata, a parer mio però più che plausibile.

    Rispondi a questo commento
    • Friday, February 8, 2019 alle ore 20:11 Michele PisaniAutore

      Ciao Stefano,
      grazie dei complimenti e della fiducia per l'acquisto del libro.

      Nei Contenuti del libro, nello specifico a pagina XV ho inserito il link alle Risorse online, che è proprio questa pagina dove stiamo commentando.

      Se guardi in fondo all'articolo trovi il link per scaricare tutti i codici presenti nel libro (e le indicazioni per la password dell'archivio).

      Fammi sapere se dovesse esserci qualche problema.

      Rispondi a questo commento
  2. Wednesday, May 20, 2020 alle ore 18:16 Riccardo

    Buongiorno,
    chiedo cortesemente la procedura per creare e attivare una vista filtrata di un foglio al caricamento filtrando una colonna che contiente le e-mail autorizzate, quindi collegata a qull'utente connesso.
    Grazie.

    Rispondi a questo commento
    • Thursday, May 21, 2020 alle ore 00:29 Michele PisaniAutore

      Ciao Riccardo,
      per realizzare quello di cui necessiti direi che hai bisogno di avvalerti delle metodi delle Classi per lo Spreadsheet, come ad esempio la Classe Filter (https://developers.google.com/apps-script/reference/spreadsheet/filter) e della Classe User (https://developers.google.com/apps-script/reference/base/user) per recuperare l'utente attivo.
      Se incontri qualche errore bloccante durante lo sviluppo lascia pure un commento o un messaggio sul gruppo Facebook dedicato Fatti di Apps Script: https://www.facebook.com/groups/AppsScript/ e troverai sicuramente supporto.

      Rispondi a questo commento
  3. Saturday, June 20, 2020 alle ore 11:36 Donato

    Gentile Michele,
    ho provato ad inserire la password per estrarre i file di esempio ma risulta errata.
    Non la scrivo in questo messaggio perchè probabilmente verrebbe pubblicata.
    Ho trovato nel libro (ebook) le parentesi quadre ma la parola all'interno non va.
    Mi può aiutare? Grazie.

    Rispondi a questo commento
    • Saturday, June 20, 2020 alle ore 16:48 Michele PisaniAutore

      Ciao Donato,
      ho appena riprovato per sicurezza e ti confermo che la password funziona correttamente.
      Non deve contenere le parentesi quadre ed è necessario assicurarsi di rispettare maiuscole, minuscole, simboli e spazi.
      Attenzione anche che non sia inserito inavvertitamente il blocco delle maiuscole (Caps Lock) nella tastiera.
      Fammi sapere. Grazie!

      Rispondi a questo commento
      • Sunday, June 21, 2020 alle ore 01:00 Donato

        :-)
        Lo spazio!!! Non mi risulta sul kindle ma aggiungendolo...funziona. Uff..uff.

      • Sunday, June 21, 2020 alle ore 10:55 Michele PisaniAutore

        Ottimo :)
        Grazie del feedback e buon proseguimento!

  4. Thursday, November 26, 2020 alle ore 13:15 Donato

    Gentile Michele,
    ho avuto il piacere di leggere/studiare il tuo libro che trovo molto interessante e che mi ha permesso di muovere i primi passi con gli script GAS.
    Mi sono arenato su un problema: condivido dei file con i miei alunni, aperti in scrittura per far loro eseguire un compito. Alla fine vorrei togliere la condivisione in scrittura a tutti contemporaneamente. Dato che i file (fogli) sono tutti contenuti in una cartella, esiste un metodo per togliere la condivisione della stessa? ho provato a consultare "Developers.google.com" ma tutte le prove sono fallite.
    Te ne sarei grato se potessi indicarmi una soluzione altrimenti grazie ugualmente.

    Rispondi a questo commento
    • Thursday, November 26, 2020 alle ore 13:51 Michele PisaniAutore

      Ciao Donato,
      trovai anch'io problemi di questo tipo con i permessi sulle cartelle, lessi che file.removeViewer(utente) non sembra funzionare su file o cartelle condivise con i permessi Public e che una soluzione alternativa poteva essere quella di creare una copia della cartella condivisa in modalità Private, spostarci i file ed eliminare la cartella originale.
      Se hai modo di provare fammi sapere. Grazie!

      Rispondi a questo commento
  5. Tuesday, January 26, 2021 alle ore 21:04 Paolo

    Buonasera, per motivi professionali devo assolutamente trasferire i codici VBA che utilizzo in EXCEL su google sheets. Ho acquistato il libro e mi sembra molto esplicativo ma non tratta in modo esaustivo la connessione con i database, argomento per me fondamentale. Per cortesia un paio di domande: posso connettermi da un google sheet con uno script associato ad una tabella all'interno un altro foglio google ed effettuare una quey sql sulla tabella ottenendo un resultset sul genere del recordset ADO? Esiste in javascript e quindi in app script una funzione come "copyfromrecordset" di VBA?
    Grazie del supporto
    Saluti

    Rispondi a questo commento
    • Tuesday, January 26, 2021 alle ore 21:38 Michele PisaniAutore

      Ciao Paolo,
      grazie del feedback e della fiducia.
      Nel libro sono trattate le connessioni ai database Google (Firebase e BigQuery) e a MySQL data la sua diffusione. Per quanto riguarda invece la comunicazione da un Foglio con altri Fogli, se è questo che intendi, non rientra nella categoria database, si tratta di utilizzare le classi e i metodi del Servizio Spreadsheet come openById, in modo da riferirsi ad un Foglio diverso da quello corrente (nel libro il concetto in questione è descritto nel capitolo 3, in occasione dell'interazione con i Fogli dagli script autonomi, vale lo stesso se da un altro Foglio, e ripreso negli esempi del capitolo 5).
      A livello di query può esserti utile questo esempio, su come estrarre dati da uno Spreadsheet tramite SQL con Apps Script e la Google Visualization API, potrebbe essere un valido spunto: https://www.appsscript.it/tutorial/estrarre-dati-da-uno-spreadsheet-tramite-query-sql-con-apps-script-e-la-google-visualization-api/
      Per copiare un range di valori e salvarlo nello stesso o in un altro Foglio ci sono i metodi getRange(), getValues() e setValues() sui quali si basano la maggior parte di operazioni di gestioni dei dati negli Sheet. Anche questi li trovi utilizzati negli esempi del capitolo 3.
      Spero di averti dato dei validi suggerimenti :) Un saluto,
      Michele

      Rispondi a questo commento
  6. Monday, August 16, 2021 alle ore 16:19 Riccardo

    Sono alla ricerca di un esperto in app script potrei avere i tuoi contatti, grazie.

    Rispondi a questo commento
  7. Monday, November 22, 2021 alle ore 09:50 Denis

    Buongiorno Riccardo sto leggendo il libro ed esercitandomi con qualche tuo esempio. Ho qualche problema con l'esempio 2.16 e con l'utilizzo della funzione OnEdit(e) che mi da (anche su altri miei script) errore del tipo
    TypeError: Cannot read property 'range' of undefined
    onEdit @ Codice.gs:4
    Mi puoi gentilmente aiutare?
    Grazie
    Denis

    Rispondi a questo commento
    • Monday, November 22, 2021 alle ore 11:27 Michele PisaniAutore

      Ciao Denis,
      quello che hai evidenziato non dovrebbe essere un problema di codice, quell'errore te lo dà probabilmente perché stai eseguendo la funzione direttamente dall'editor.
      Il trigger onEdit(e) funziona quando l'esecuzione di tale funzione avviene in modo automatico quando effettui una modifica direttamente sul Foglio di Google. In tal caso potrai vedere il valore di "col" in Esecuzioni espandendo la relativa esecuzione.
      PS: mi chiamo Michele :)

      Rispondi a questo commento
      • Monday, November 22, 2021 alle ore 12:13 Denis

        Perfetto... tutto ok.
        Scusa per il nome... il multitasking a volte mi frega.
        Grazie
        Denis

  8. Friday, May 20, 2022 alle ore 10:34 Manlio Fortuna

    salve ho acquistato il libro e ho cercato di accedere all'area per scaricare il codice degli esempi ma cliccando sul link ottengo il seguente errore This site can’t be reachedmedia.bigbossweb.com’s server IP address could not be found. prima ancora che possa inserire la pasword

    Rispondi a questo commento
    • Wednesday, May 25, 2022 alle ore 23:42 Michele PisaniAutore

      Ciao Manilo,
      grazie della segnalazione! C'è stato un problema di rinnovo del dominio menzionato da parte del provider che lo ospita. La situazione è stata ripristinata.
      Fammi sapere se riesci a scaricare correttamente i codici. Grazie!

      Rispondi a questo commento
  9. Monday, August 14, 2023 alle ore 16:02 Andrea

    Caro Michele,
    ho appena acquistato il libro, mi sembra molto ben fatto ma non riesco ad accedere ai codici. La password che ho trovato alla fine del secondo capitolo non ne vuole sapere di aprire i file.
    Qualche suggerimento?
    Grazie
    Andrea

    Rispondi a questo commento
  10. Monday, August 14, 2023 alle ore 16:03 Andrea

    Caro Michele,
    ho appena acquistato il libro, mi sembra molto ben fatto ma non riesco ad accedere ai codici. La password che ho trovato alla fine del secondo capitolo non ne vuole sapere di aprire i file.
    Qualche suggerimento?
    Grazie
    Andrea

    Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web