Javascript, HTML, CSS e... !
0 commenti

Con clasp, la CLI di Apps Script

Creare, modificare e distribuire progetti Apps Script in locale

A differenza di come solitamente vengono gestiti i progetti Apps Script, ovvero da browser accedendo a script.google.com, con la CLI di Apps Script, o clasp, è possibile creare, modificare e distribuire progetti Apps Script, che siano applicazioni web o componenti aggiuntivi per Fogli, Documenti, Moduli e Presentazioni, direttamente in locale dal proprio computer tramite l'interfaccia a riga di comando.

In breve, clasp consente di scrivere codice sull'IDE preferito installato sul proprio computer (che può essere il notepad così come Brackets oppure Visual Studio o qualsiasi altra alternativa) e di caricarlo online come progetto Apps Script una volta terminato lo sviluppo o la modifica da apportare al codice. Infatti oltre a creare nuovi progetti, la CLI consente di scaricare anche quelli già esistenti e modificarli localmente.

 

INSTALLAZIONE DI Node.js

clasp richiede l'installazione di Node.js con una versione >= v6.0.0, è possibile scaricarlo dalla pagina di download del sito ufficiale, ad ogni modo il seguente tutorial mostrerà come installare Node.js su un sistema Unix, nel caso specifico un Raspberry 3pi b+ con sistema operativo Raspbian.

Grazie ad un comando scritto dagli sviluppatori di NodeSource è possibile aggiungere un repository di pacchetti al nostro Raspberry Pi in modo da essere in grado di installare, con il comando "apt", una versione aggiornata di Node.js dal loro repository.
Come requisito per l'installazione di Node.js, è necessario un sistema Pi basato sul più recente chip ARMv7 o ARMv8.
Per verificare tale architettura sarà sufficiente eseguire il seguente comando dal terminale:

$ uname -m

Fare attenzione pertanto che se il risultato restituito inizia con "armv6" significa che il Raspberry Pi è basato sul chipset ARMv6 meno recente e la successiva fase di installazione di Node.js non andrà a buon fine.

In caso contrario sarà possibile proseguire con l'installazione della versione più recente di Node.js lanciando il seguente comando che aggiorna il nostro repository di pacchetti apt di Debian per includere quelli di NodeSource:

$ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -

Ad operazione completata sarà possibile installare effettivamente Node.js con il comando:

$ sudo apt install -y nodejs

Per essere certi che Node.js sia aggiornato eseguire:

$ sudo npm install n -g

$ sudo n latest

 

INSTALLAZIONE DI clasp

Una volta che Node.js è correttamente installato ed aggiornato, è la volta di installare la CLI a livello globale (con alias clasp):

$ sudo npm i @google/clasp -g

 

UTILIZZO DI clasp

L'unico comando che sarà da ricordare è clasp, ed avendolo installato a livello globale sul nostro computer funzionerà da qualsiasi punto venga richiamato all'interno del filesystem.
Digitando infatti clasp così come clasp --help verrà mostrata la lista dei comandi utilizzabili con la relativa descrizione (di seguito ne vedremo alcuni).

Prima di iniziare ad utilizzare lo strumento da riga di comando, dobbiamo accedere all'account Google dove gestiamo i progetti Apps Script:

$ clasp login

Si aprirà il browser dove verrà richiesto di accedere a Google in modo che i progetti creati con la CLI vengano associati a tale account.
Una volta effettuato l'accesso sarà possibile creare un progetto Apps Script con il seguente comando (le prime due righe creano semplicemente una cartella in locale ed accedono ad essa al fine di creare il progetto al suo interno):

$ mkdir clasp_project
$ cd clasp_project
$ clasp create "Progetto creato con clasp"

Verrà mostrata la tipologia di progetto che vogliamo creare, nel caso specifico scegliamo sheets (Fogli di Google), Fig. 1:



clasp create

Fig. 1 - Comando di clap per creare un progetto


Può capitare in questa fase che venga restituito un messaggio di errore all'interno del terminale:

User has not enabled the Apps Script API. Enable it by visiting
https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few
minutes for the action to propagate to our systems and retry.

Questo significa che l'API Google di Apps Script del nostro utente è disattivata e sarà necessario abilitarla dal bottone di tipo interrutore presente nella pagina all'URL https://script.google.com/home/usersettings, Fig. 2.



attivazione della API Google di Apps Script

Fig. 2 - Attivazione della API Google di Apps Script


La cartella creata potrebbe ancora essere vuota, o comunque il nostro codice non sincronizzato con l'editor online, pertanto per avere in locale il progetto aggiornato sarà necessario eserguire il seguente comando, Fig. 3:

$ clasp pull



clasp pull

Fig. 3 - Comando di clap per sincronizzare in locale un progetto


A questo punto con un qualsiasi IDE o editor di testo (Fig. 4) possiamo gestire i file in locale dove è evidente che clasp ha convertito automaticamente in cartelle e file, sul nostro computer, i file presenti su script.google.com (i file .gs sono stati convertiti in .js).
Il codice del file presente in Fig. 4 è al puro scopo illustrativo e mostra che in locale è stato creato un nuovo file chiamato Code2.js che sarà poi caricato online.



modificare i file in locale con clasp

Fig. 4 - Progetto di Apps Script scaricato in locale e modificato con un editor di testo


Una volta concluse le operazioni di scrittura del codice siamo pronti per sincronizzare il progetto dal computer locale a quello in cloud, Fig. 5, con il seguente comando:

$ clasp push



progetto di apps script sincronizzato dal locale in cloud

Fig. 5 - Progetto di Apps Script caricato su script.google.com


La CLI consente anche di aprire il progetto su script.google.com per verificare e provare effettivamente il funzionamento del codice scritto, Fig. 6.
Il comando è il seguente:

$ clasp open



clasp open

Fig. 6 - Progetto di Apps Script aperto da clasp in script.google.com


Per la consultazione di altri comandi, ad esempio per il versionamento dei progetti e la loro distribuzione, rimando alle relative linee guida fornite da codelabshttps://codelabs.developers.google.com/codelabs/clasp/ oppure al progetto su GitHubhttps://github.com/google/clasp.

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

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un 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]http://www.appsscript.it[/url] se devi riferirti ad un indirizzo web