Gli attivatori consentono ad Apps Script di eseguire automaticamente una funzione quando si verifica un determinato evento, come l'apertura di un documento. Gli attivatori semplici sono un insieme di funzioni riservate integrate in Apps Script, come la funzione onOpen(e)
, che viene eseguita quando un utente apre un file di Documenti, Fogli, Presentazioni o Moduli Google.
I trigger installabili offrono più funzionalità rispetto ai trigger semplici, ma devono essere attivati prima dell'uso. Per entrambi i tipi di attivatori, Apps Script passa alla funzione attivata un oggetto evento contenente informazioni sul contesto in cui si è verificato l'evento.
Per iniziare
Per utilizzare un semplice attivatore, crea una funzione che utilizzi uno di questi nomi di funzione riservati:
onOpen(e)
viene eseguito quando un utente apre un foglio di lavoro, un documento, una presentazione o un modulo di cui ha l'autorizzazione di modifica.onInstall(e)
viene eseguito quando un utente installa un componente aggiuntivo dell'editor da Documenti, Fogli, Presentazioni o Moduli Google.onEdit(e)
viene eseguito quando un utente modifica un valore in un foglio di lavoro.onSelectionChange(e)
viene eseguito quando un utente modifica la selezione in un foglio di lavoro.doGet(e)
viene eseguito quando un utente visita una app web o un programma invia una richiesta HTTPGET
a un'app web.doPost(e)
viene eseguito quando un programma invia una richiesta HTTPPOST
a un'app web.
Il parametro e
nei nomi delle funzioni sopra è un
oggetto evento che viene passato alla
funzione. L'oggetto contiene informazioni sul contesto che ha attivato l'attivatore, ma il suo utilizzo è facoltativo.
Restrizioni
Poiché gli attivatori semplici vengono attivati automaticamente, senza chiedere all'utente l'autorizzazione, sono soggetti a diverse limitazioni:
- Lo script deve essere legato a un file di Fogli, Presentazioni, Documenti o Moduli Google oppure essere un componente aggiuntivo che espande una di queste applicazioni.
- Non vengono eseguiti se un file viene aperto in modalità di sola lettura (visualizzazione o commento).
- Le esecuzioni di script e le richieste API non causano l'esecuzione degli trigger. Ad esempio, la chiamata a
Range.setValue()
per modificare una cella non comporta l'esecuzione dell'attivatoreonEdit
del foglio di lavoro. - Non possono accedere ai servizi che richiedono autorizzazione. Ad esempio, un semplice attivatore non può inviare un'email perché il servizio Gmail richiede l'autorizzazione, ma può tradurre una frase con il servizio di lingua, che è anonimo.
- Possono modificare il file a cui sono associati, ma non possono accedere ad altri file perché ciò richiederebbe l'autorizzazione.
- Potrebbero o meno essere in grado di determinare l'identità dell'utente corrente, a seconda di un insieme complesso di limitazioni di sicurezza.
- Non possono essere pubblicati per più di 30 secondi.
- In determinate circostanze, i componenti aggiuntivi di Editor eseguono i semplici attivatori
onOpen(e)
eonEdit(e)
in una modalità senza autorizzazione che presenta alcune complicazioni aggiuntive. Per ulteriori informazioni, consulta la guida al ciclo di vita dell'autorizzazione dei componenti aggiuntivi. - Gli trigger semplici sono soggetti ai limiti di quota degli trigger di Apps Script.
Queste limitazioni non si applicano a doGet(e)
o doPost(e)
.
onOpen(e)
L'attivatore onOpen(e)
viene eseguito automaticamente quando un utente apre un foglio di lavoro, un documento, una presentazione o un modulo di cui ha l'autorizzazione di modifica. L'attivatore non viene eseguito quando si risponde a un modulo, ma solo quando lo si apre per modificarlo. onOpen(e)
viene utilizzato più comunemente per aggiungere voci di menu personalizzate a Fogli, Presentazioni, Documenti o Moduli Google.
onInstall(e)
L'attivatore onInstall(e)
viene eseguito automaticamente quando un utente installa un
componente aggiuntivo dell'editor da Documenti, Fogli, Presentazioni o Moduli Google. L'attivatore non verrà eseguito quando un utente
installa il componente aggiuntivo dal
website
Google Workspace Marketplace. Tieni presente che esistono alcune limitazioni a ciò che onInstall(e)
può fare. Scopri di più sull'autorizzazione.
L'uso più comune di onInstall(e)
è semplicemente chiamare onOpen(e)
per aggiungere menu personalizzati. Dopotutto, quando viene installato un componente aggiuntivo, il file è già aperto, quindi onOpen(e)
non viene eseguito autonomamente a meno che il file non venga riaperto.
onEdit(e)
L'attivatore onEdit(e)
viene eseguito automaticamente quando un utente modifica il valore di qualsiasi
cella in un foglio di lavoro. La maggior parte degli attivatori onEdit(e)
utilizza le informazioni nell'oggetto event per rispondere in modo appropriato.
Ad esempio, la funzione onEdit(e)
riportata di seguito imposta un commento sulla cella che registra l'ultima volta che è stata modificata.
onSelectionChange(e)
L'attivatore onSelectionChange(e)
viene eseguito automaticamente quando un utente modifica la selezione in un foglio di lavoro. Per attivare questo attivatore, devi aggiornare il foglio di lavoro dopo averlo aggiunto e ogni volta che lo apri.
Se la selezione passa da una cella all'altra in breve tempo, alcuni eventi di variazione della selezione potrebbero essere ignorati per ridurre la latenza. Ad esempio, se vengono apportate molte modifiche alla selezione in un periodo di due secondi, solo la prima e l'ultima attiveranno l'attivatore onSelectionChange(e)
.
Nell'esempio seguente, se viene selezionata una cella vuota, la funzione onSelectionChange(e)
imposta lo sfondo della cella su rosso.
doGet(e)
e doPost(e)
L'attivatore doGet(e)
viene eseguito automaticamente quando un utente visita una
app web o un programma invia una richiesta HTTP GET
a un'app web. doPost(e)
viene eseguito quando un programma invia una richiesta HTTP POST
a un'
app web. Questi attivatori sono descritti più dettagliatamente nelle guide alle
app web, al servizio HTML e al
servizio di contenuti. Tieni presente che doGet(e)
e
doPost(e)
non sono soggetti alle limitazioni elencate sopra.
Tipi di attivatori disponibili
Se le limitazioni agli attivatori semplici impediscono loro di soddisfare le tue esigenze, potrebbe essere utile un attivatore installabile. La tabella seguente riassume i tipi di attivatori disponibili per ogni tipo di evento. Ad esempio, Fogli, Presentazioni, Moduli e Documenti Google supportano tutti gli attivatori aperti semplici, ma solo Fogli, Documenti e Moduli supportano gli attivatori aperti installabili.
Evento | Trigger semplici | Trigger installabili |
---|---|---|
Apri |
|
|
Modifica |
|
|
Modifica selezione |
|
|
Installa |
|
|
Cambia |
|
|
Invio del modulo |
|
|
In base al tempo (orologio) |
|
|
Get |
|
|
Pubblica |
|
* L'evento open per Moduli Google non si verifica quando un utente apre un modulo per rispondere, ma quando un editor lo apre per modificarlo.