Site icon Web Agency | Software House

Guida Completa a Google Apps Script per Principianti

Introduzione a Google Apps Script

Google Apps Script è una piattaforma di scripting basata su JavaScript che consente di automatizzare e estendere le applicazioni di Google, come Google Sheets, Google Docs, Google Forms e altri. Con Google Apps Script, puoi creare script personalizzati per migliorare la produttività e automatizzare processi ripetitivi.

Questa guida passo-passo ti mostrerà come iniziare con Google Apps Script, spiegando ogni singolo passaggio e dettaglio necessario per utilizzare efficacemente questo strumento. Che tu sia un principiante assoluto o un esperto di programmazione, troverai questa guida utile per massimizzare il potenziale di Google Apps Script.

Perché Usare Google Apps Script?

Ci sono diverse ragioni per cui Google Apps Script è uno strumento potente e popolare:

Requisiti per Utilizzare Google Apps Script

Prima di iniziare, assicurati di avere quanto segue:

Accesso a Google Apps Script

Il primo passo per utilizzare Google Apps Script è accedere al servizio. Segui questi passaggi per accedere a Google Apps Script:

  1. Accedi a Google Drive:
    • Apri il tuo browser web preferito e visita Google Drive.
    • Effettua l’accesso utilizzando il tuo account Google. Se non hai un account Google, puoi crearne uno gratuitamente seguendo le istruzioni sul sito di Google.
  2. Creare un Nuovo Script:
    • Nella schermata principale di Google Drive, clicca su “Nuovo” > “Altro” > “Google Apps Script“.
    • Verrà aperta una nuova finestra con l’editor di Google Apps Script.

Interfaccia di Google Apps Script

Una volta creato un nuovo script, verrai accolto dall’interfaccia utente di Google Apps Script. Comprendere l’interfaccia è fondamentale per navigare e utilizzare lo strumento efficacemente.

Barra degli Strumenti

La barra degli strumenti si trova nella parte superiore della schermata e contiene diverse opzioni per gestire lo script:

Editor di Script

L’editor di script è dove scrivi e modifichi il codice JavaScript. È dotato di funzionalità di completamento automatico, evidenziazione della sintassi e numerazione delle righe per facilitare la scrittura del codice.

Console di Output

La console di output si trova nella parte inferiore dell’editor e mostra i messaggi di log e gli errori generati durante l’esecuzione dello script. È uno strumento utile per il debugging e la verifica del funzionamento del codice.

Scrivere e Eseguire il Primo Script

Una delle funzioni principali di Google Apps Script è la capacità di scrivere e eseguire script JavaScript. Ecco come puoi farlo:

Scrivere un Semplice Script

Inserisci il seguente codice JavaScript nel tuo editor di script. Questo script visualizzerà un messaggio di saluto utilizzando la funzione Logger.log:

function myFirstScript() {
  Logger.log('Ciao, Google Apps Script!');
}

Eseguire lo Script

Per eseguire lo script inserito, segui questi passaggi:

Primo Google Script

Utilizzare le API di Google Apps

Google Apps Script ti permette di interagire con le applicazioni di Google tramite le loro API. Ad esempio, puoi leggere e scrivere dati su un foglio di Google Sheets, inviare email con Gmail o creare eventi di calendario con Google Calendar.

Esempio: Interazione con Google Sheets

Supponiamo di voler leggere e scrivere dati su un foglio di Google Sheets. Ecco come fare:

function interactWithSheets() {
  // Apri il foglio di Google Sheets con l'ID specificato
  var spreadsheet = SpreadsheetApp.openById('ID_DEL_TUO_FOGLIO');

  // Seleziona il foglio attivo
  var sheet = spreadsheet.getActiveSheet();

  // Scrivi un dato nella cella A1
  sheet.getRange('A1').setValue('Ciao, Google Sheets!');

  // Leggi il dato dalla cella A1
  var cellValue = sheet.getRange('A1').getValue();
  Logger.log('Il valore della cella A1 è: ' + cellValue);
}

Per eseguire questo script, sostituisci ‘ID_DEL_TUO_FOGLIO’ con l’ID del tuo foglio di Google Sheets. Puoi trovare l’ID del foglio nell’URL quando apri il foglio di calcolo in Google Sheets.

Alla prima esecuzione dello script dovrai dare le autorizzazioni, di seguito alcuni screen shot di esempio con i vari passaggi per autorizzare lo script, questa operazione deve essere eseguita solo al primo run del programma

Clicca su Rivedi Autorizzazioni

 

Cliccare su Avanzate
Cliccare su Apri Progetto senza titolo (non sicura)
Seleziona l’utente
Clicca su Consenti

 

Risultato su Google Sheet

Creare Trigger per Automatizzare l’Esecuzione degli Script

I trigger in Google Apps Script permettono di eseguire automaticamente script in risposta a eventi specifici, come l’apertura di un documento, l’invio di un modulo o a intervalli di tempo predefiniti. Questa funzionalità è estremamente utile per automatizzare processi senza dover eseguire manualmente lo script ogni volta.

Tipi di Trigger

Google Apps Script supporta diversi tipi di trigger:

Creare un Trigger Basato sul Tempo

Per creare un trigger che esegue uno script a intervalli di tempo specifici, segui questi passaggi:

  1. Apri il Menu dei Trigger: Clicca sull’icona del cronometro nella barra laterale sinistra per accedere alla gestione dei trigger.
  2. Aggiungi un Nuovo Trigger: Clicca su “Aggiungi attivatore” in basso a destra nella finestra dei trigger.
  3. Configura il Trigger: Nella finestra che si apre, seleziona la funzione che desideri eseguire, poi scegli “Tempo” come tipo di evento e configura le impostazioni del trigger. Ad esempio, puoi scegliere di eseguire la funzione ogni giorno alle 9:00.
  4. Salva il Trigger: Clicca su “Salva” per aggiungere il trigger.

Ecco un esempio di script che invia un’email ogni giorno:

function sendDailyEmail() {
  MailApp.sendEmail('tuoindirizzo@example.com', 'Rapporto Giornaliero', 'Questo è il tuo rapporto giornaliero.');
}

Configura un trigger per eseguire la funzione sendDailyEmail ogni giorno all’ora desiderata.

Creare un Trigger Basato sugli Eventi

Per creare un trigger che esegue uno script in risposta a eventi specifici, segui questi passaggi:

  1. Apri il Menu dei Trigger: Clicca sull’icona del cronometro nella barra laterale sinistra per accedere alla gestione dei trigger.
  2. Aggiungi un Nuovo Trigger: Clicca su “Aggiungi attivatore” in basso a destra nella finestra dei trigger.
  3. Configura il Trigger: Nella finestra che si apre, seleziona la funzione che desideri eseguire, poi scegli il tipo di evento appropriato (ad esempio, “Modifica foglio” per Google Sheets) e configura le impostazioni del trigger.
  4. Salva il Trigger: Clicca su “Salva” per aggiungere il trigger.

Ecco un esempio di script che esegue un’azione quando un foglio di Google Sheets viene modificato:

function onEdit(e) {
  var range = e.range;
  var value = range.getValue();
  Logger.log('Cella modificata: ' + range.getA1Notation() + ', Nuovo valore: ' + value);
}

Configura un trigger per eseguire la funzione onEdit ogni volta che viene modificato un foglio di Google Sheets.

trigger google script

Gestire i Dati in Google Apps Script

Google Apps Script offre potenti strumenti per gestire e manipolare i dati. In questa sezione, esploreremo come leggere e scrivere dati, filtrare e ordinare dati, e utilizzare formule e funzioni nei fogli di Google Sheets.

Leggere e Scrivere Dati

Per leggere e scrivere dati nei fogli di Google Sheets, puoi utilizzare le API di SpreadsheetApp. Ecco un esempio di come leggere e scrivere dati in un foglio:

function readAndWriteData() {
  // Apri il foglio di Google Sheets con l'ID specificato
  var spreadsheet = SpreadsheetApp.openById('ID_DEL_TUO_FOGLIO');
  var sheet = spreadsheet.getActiveSheet();

  // Leggi il valore della cella A1
  var cellValue = sheet.getRange('A1').getValue();
  Logger.log('Il valore della cella A1 è: ' + cellValue);

  // Scrivi un nuovo valore nella cella B1
  sheet.getRange('B1').setValue('Nuovo Valore');
}

Filtrare e Ordinare Dati

Puoi utilizzare Google Apps Script per filtrare e ordinare dati nei fogli di Google Sheets. Ecco un esempio di come filtrare e ordinare dati:

(Per eseguire questo esempio dovrai inserire nel Foglio1 la scritta ‘Attivo’ nella colonna A)

function filterAndSortData() {
  // Apri il foglio di Google Sheets con l'ID specificato
  var spreadsheet = SpreadsheetApp.openById('ID_DEL_TUO_FOGLIO');
  var sheet = spreadsheet.getActiveSheet();

  // Ottieni tutti i dati nel foglio
  var data = sheet.getDataRange().getValues();

  // Filtra i dati (ad esempio, mantieni solo le righe con il valore 'Attivo' 
nella colonna A)
  var filteredData = data.filter(function(row) {
    return row[0] === 'Attivo';
  });

  // Ordina i dati per la colonna 2 in ordine crescente
  filteredData.sort(function(a, b) {
    return a[1] - b[1];
  });

  // Scrivi i dati filtrati e ordinati in un nuovo foglio
  var newSheet = spreadsheet.insertSheet('Filtrati e Ordinati');
  newSheet.getRange(1, 1, filteredData.length, filteredData[0].length).setValues(filteredData);
}

Utilizzare Formule e Funzioni

Google Apps Script ti permette di utilizzare formule e funzioni nei fogli di Google Sheets. Ecco un esempio di come inserire una formula in una cella:

function useFormulas() {
  // Apri il foglio di Google Sheets con l'ID specificato
  var spreadsheet = SpreadsheetApp.openById('ID_DEL_TUO_FOGLIO');
  var sheet = spreadsheet.getActiveSheet();

  // Inserisci una formula nella cella C1
  sheet.getRange('C1').setFormula('=A1+B1');
}

Integrazione con Altre API di Google

Google Apps Script può integrarsi con altre API di Google per estendere ulteriormente le funzionalità del tuo script. In questa sezione, esploreremo come integrare Google Apps Script con Gmail e Google Calendar.

Integrazione con Gmail

Google Apps Script ti permette di interagire con Gmail per inviare email, leggere email e gestire etichette. Ecco un esempio di come inviare un’email utilizzando GmailApp:

function sendEmail() {
  var recipient = 'destinatario@example.com';
  var subject = 'Oggetto dell\'email';
  var body = 'Questo è il corpo dell\'email.';
  GmailApp.sendEmail(recipient, subject, body);
}

Integrazione con Google Calendar

Google Apps Script ti permette di interagire con Google Calendar per creare, leggere e aggiornare eventi. Ecco un esempio di come creare un evento utilizzando CalendarApp:

function createCalendarEvent() {
  var calendar = CalendarApp.getDefaultCalendar();
  var event = calendar.createEvent('Titolo dell\'Evento',
                                   new Date('2023-08-03T10:00:00'),
                                   new Date('2023-08-03T12:00:00'),
                                   {description: 'Descrizione dell\'evento'});
  Logger.log('Evento creato: ' + event.getId());
}

Creazione di Interfacce Utente Personalizzate

Google Apps Script ti consente di creare interfacce utente personalizzate per migliorare l’interazione degli utenti con i tuoi script. Puoi creare finestre di dialogo, barre laterali e interfacce complesse utilizzando HTML, CSS e JavaScript.

Creare una Finestra di Dialogo

Una finestra di dialogo è una finestra modale che appare sopra il contenuto dell’applicazione. Ecco come creare una semplice finestra di dialogo utilizzando Google Apps Script:

function showDialog() {
  var htmlOutput = HtmlService.createHtmlOutput('Ciao, questa è una finestra di dialogo!')
      .setWidth(250)
      .setHeight(150);
  SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Titolo della Finestra di Dialogo');
}

function onOpen() {
  var ui = SpreadsheetApp.getUi(); // Ottieni l'interfaccia utente per Google Sheets
  // Per Google Docs, usa: DocumentApp.getUi();
  ui.createMenu('Menu Personalizzato')
      .addItem('Mostra Finestra di Dialogo', 'showDialog')
      .addToUi();
}

Il codice sopra crea un menu personalizzato nel foglio di Google Sheets (o nel documento di Google Docs) che avvia la finestra di dialogo. La funzione onOpen viene eseguita automaticamente quando apri il documento, aggiungendo un nuovo menu “Menu Personalizzato” che contiene l’opzione “Mostra Finestra di Dialogo”.

Ora, quando apri il tuo foglio di Google Sheets o documento di Google Docs, vedrai un nuovo menu “Menu Personalizzato” che contiene l’opzione “Mostra Finestra di Dialogo” per aprire la finestra di dialogo.

Creare una Barra Laterale

Una barra laterale è un pannello che appare sul lato dell’applicazione. Ecco come creare una barra laterale utilizzando Google Apps Script:

function showSidebar() {
  var htmlOutput = HtmlService.createHtmlOutput('Ciao, questa è una barra laterale!');
  SpreadsheetApp.getUi().showSidebar(htmlOutput);
}

Per eseguire questo script, puoi eseguire la funzione direttamente dall’editor di script. La barra laterale apparirà nel foglio di Google Sheets.

Creare Interfacce Complesse

Per creare interfacce utente più complesse, puoi utilizzare HTML, CSS e JavaScript. Ecco un esempio di una semplice interfaccia utente con un modulo HTML:

function showComplexUi() {
  var html = HtmlService.createHtmlOutputFromFile('form.html')
      .setWidth(400)
      .setHeight(300);
  SpreadsheetApp.getUi().showModalDialog(html, 'Modulo di Inserimento Dati');
}

Creare un file HTML denominato form.html con il seguente contenuto:

<!DOCTYPE html>
<html>
<head>
  <base target="_top">
</head>
<body>
  <form id="myForm">
    <label for="name">Nome:</label>
    <input type="text" id="name" name="name"><br><br>
    <label for="email">Email:</label>
    <input type="email" id="email" name="email"><br><br>
    <input type="button" value="Invia" onclick="submitForm()">
  </form>
  <script>
    function submitForm() {
      var form = document.getElementById('myForm');
      google.script.run.processForm(form);
    }
  </script>
</body>
</html>

Infine, aggiungi una funzione server-side per elaborare i dati del modulo:

function processForm(form) {
  Logger.log('Nome: ' + form.name);
  Logger.log('Email: ' + form.email);
}

Quando esegui la funzione showComplexUi, verrà visualizzata una finestra di dialogo con un modulo HTML. Quando l’utente invia il modulo, i dati vengono elaborati dallo script server-side.

Utilizzo di Librerie in Google Apps Script

Google Apps Script supporta l’uso di librerie esterne che possono estendere le funzionalità del tuo script. Puoi includere librerie create da altri sviluppatori o creare le tue librerie riutilizzabili.

Includere Librerie Esterne

Per includere una libreria esterna nel tuo progetto di Google Apps Script, segui questi passaggi:

  1. Apri il Menu delle Risorse: Vai su “Risorse” > “Librerie” nel menu del tuo editor di script.
  2. Aggiungi una Nuova Libreria: Inserisci l’ID della libreria che desideri includere e clicca su “Aggiungi”. Puoi trovare l’ID della libreria nella documentazione o nella pagina del progetto della libreria.
  3. Seleziona la Versione della Libreria: Scegli la versione della libreria che desideri utilizzare e clicca su “Salva”.

Ecco un esempio di come includere la libreria “Moment.js” per la manipolazione delle date e dei tempi:

function useLibrary() {
  var now = Moment.moment();
  Logger.log('Data e Ora Attuali: ' + now.format('YYYY-MM-DD HH:mm:ss'));
}

Creare Librerie Personalizzate

Puoi creare le tue librerie riutilizzabili per organizzare e condividere codice tra diversi progetti di Google Apps Script. Ecco come fare:

  1. Creare un Nuovo Progetto di Script: Vai su Google Apps Script e crea un nuovo progetto di script.
  2. Definire le Funzioni della Libreria: Scrivi il codice delle funzioni che desideri includere nella tua libreria. Ecco un esempio di una semplice libreria di funzioni matematiche:
    /**
     * Calcola la somma di due numeri.
     *
     * @param {number} a - Il primo numero.
     * @param {number} b - Il secondo numero.
     * @return {number} La somma di a e b.
     */
    function add(a, b) {
      return a + b;
    }
    
    /**
     * Calcola la differenza di due numeri.
     *
     * @param {number} a - Il primo numero.
     * @param {number} b - Il secondo numero.
     * @return {number} La differenza di a e b.
     */
    function subtract(a, b) {
      return a - b;
    }
  3. Pubblicare la Libreria: Vai su “File” > “Gestisci versioni” e crea una nuova versione della tua libreria. Poi, vai su “File” > “Proprietà del progetto” e copia l’ID del progetto. Condividi l’ID con chiunque desideri utilizzare la tua libreria.

Integrazione con API di Terze Parti

Google Apps Script può integrarsi con API di terze parti per espandere ulteriormente le funzionalità del tuo script. Puoi effettuare richieste HTTP e gestire le risposte API utilizzando il servizio UrlFetchApp.

Effettuare Richieste HTTP

Ecco un esempio di come effettuare una richiesta HTTP GET a un’API di terze parti utilizzando UrlFetchApp:

function fetchApiData() {
  var url = 'https://api.example.com/data';
  var response = UrlFetchApp.fetch(url);
  var data = JSON.parse(response.getContentText());
  Logger.log('Dati API: ' + data);
}

Gestire Autenticazione API

Molte API richiedono autenticazione. Ecco un esempio di come effettuare una richiesta HTTP GET con un token di autenticazione:

function fetchAuthenticatedData() {
  var url = 'https://api.example.com/secure-data';
  var options = {
    'method': 'get',
    'headers': {
      'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
    }
  };
  var response = UrlFetchApp.fetch(url, options);
  var data = JSON.parse(response.getContentText());
  Logger.log('Dati API Autenticati: ' + data);
}

Utilizzo di Trigger di Google Workspace

Google Apps Script può rispondere a eventi specifici nelle applicazioni di Google Workspace utilizzando trigger. Ad esempio, puoi creare trigger per eseguire script quando vengono creati o modificati file in Google Drive, quando vengono inviate email in Gmail o quando vengono creati eventi in Google Calendar.

Creare un Trigger per Google Drive

Ecco un esempio di come creare un trigger che esegue uno script quando viene creato un nuovo file in una cartella specifica di Google Drive:

function createDriveTrigger() {
  var folder = DriveApp.getFolderById('YOUR_FOLDER_ID');
  ScriptApp.newTrigger('onFileCreated')
      .forSpreadsheet(folder)
      .onCreate()
      .create();
}

function onFileCreated(e) {
  var file = e.driveId;
  Logger.log('Nuovo file creato: ' + file);
}

Best Practice per Utilizzare Google Apps Script

Per utilizzare Google Apps Script in modo efficiente e mantenere il codice organizzato e manutenibile, è importante seguire alcune best practice.

Organizzazione del Codice

Mantenere il codice ben organizzato e documentato è fondamentale per la leggibilità e la manutenzione del tuo script. Ecco alcuni suggerimenti:

Gestione delle Risorse

Google Apps Script offre risorse di calcolo potenti, ma è importante utilizzarle in modo efficiente:

Salvataggio e Backup

Mantenere il codice sicuro e accessibile è fondamentale:

Suggerimenti e Trucchi per Google Apps Script

Esistono vari suggerimenti e trucchi che possono migliorare la tua esperienza di utilizzo di Google Apps Script. Ecco alcuni dei più utili:

Utilizzare Google Logger

Google Logger è uno strumento utile per il debugging del codice. Ecco un esempio di come utilizzare Logger.log per stampare messaggi di log:

function logExample() {
  var message = 'Questo è un messaggio di log.';
  Logger.log(message);
}

Utilizzare le Funzioni di Utility di Google

Google Apps Script include diverse funzioni di utility che possono semplificare il tuo lavoro. Ecco alcuni esempi:

Shortcut da Tastiera

Google Apps Script supporta varie scorciatoie da tastiera che possono accelerare il tuo workflow:

Risoluzione dei Problemi Comuni in Google Apps Script

Anche se Google Apps Script è un potente strumento, potresti incontrare alcuni problemi comuni. Ecco come risolverli:

Problemi di Autorizzazione

Se ricevi errori di autorizzazione, verifica che il tuo script abbia le autorizzazioni necessarie per accedere alle risorse. Puoi rivedere e aggiornare le autorizzazioni del tuo script nel menu “Esegui” > “Autorizzazioni di script”.

Problemi di Limiti di Esecuzione

Se il tuo script supera i limiti di esecuzione, prova questi suggerimenti:

Problemi di Prestazioni

Se il tuo script è lento o non risponde, prova questi suggerimenti:

Exit mobile version