Come i trigger semplici, i trigger installabili consentono ad Apps Script di eseguire automaticamente una funzione quando si verifica un determinato evento, ad esempio l'apertura di un documento. I trigger installabili, tuttavia, offrono maggiore flessibilità rispetto ai trigger semplici: possono chiamare servizi che richiedono autorizzazione, offrono diversi tipi di eventi aggiuntivi, inclusi i trigger basati sul tempo (orologio), e possono essere controllati a livello di programmazione. Per gli attivatori semplici e installabili, Apps Script passa alla funzione attivata un oggetto evento che contiene informazioni sul contesto in cui si è verificato l'evento.
Restrizioni
Anche se i trigger installabili offrono maggiore flessibilità rispetto ai trigger semplici, sono comunque soggetti a diverse limitazioni:
- Non vengono eseguiti se un file viene aperto in modalità di sola lettura (visualizzazione o commento). Per gli script autonomi, gli utenti devono disporre almeno dell'accesso in visualizzazione al file di script affinché i trigger vengano eseguiti correttamente.
Le esecuzioni di script e le richieste API non causano l'esecuzione dei trigger. Ad esempio, la chiamata
FormResponse.submit()
per inviare una nuova risposta al modulo non comporta l'esecuzione del trigger di invio del modulo.I trigger installabili vengono sempre eseguiti con l'account della persona che li ha creati. Ad esempio, se crei un trigger aperto installabile, questo viene eseguito quando il tuo collega apre il documento (se ha accesso in modifica), ma viene eseguito come tuo account. Ciò significa che se crei un trigger per inviare un'email quando viene aperto un documento, l'email viene sempre inviata dal tuo account, non necessariamente dall'account che ha aperto il documento. Tuttavia, potresti creare un trigger installabile per ogni account, il che comporterebbe l'invio di un'email da ogni account.
Un determinato account non può visualizzare i trigger installati da un secondo account, anche se il primo account può comunque attivarli.
I trigger installabili sono soggetti ai limiti di quota dei trigger di Apps Script.
Trigger basati sul tempo
Un trigger basato sul tempo (chiamato anche trigger orologio) è simile a un cron job in Unix. I trigger basati sul tempo consentono l'esecuzione degli script a un'ora specifica o a intervalli ricorrenti, con una frequenza che può variare da una volta al minuto a una volta al mese. Tieni presente che un componente aggiuntivo può utilizzare un trigger basato sul tempo al massimo una volta all'ora. L'ora potrebbe essere leggermente randomizzata. Ad esempio, se crei un trigger ricorrente alle 9:00, Apps Script sceglie un orario tra le 9:00 e le 10:00, quindi mantiene questo orario costante di giorno in giorno, in modo che trascorrano 24 ore prima che il trigger venga attivato di nuovo.
Trigger basati su eventi
I trigger basati su eventi installabili sono concettualmente simili ai
trigger semplici
come onOpen()
, ma possono rispondere a eventi aggiuntivi e si comportano
in modo diverso.
Ad esempio, il trigger open installabile per Google Fogli
si attiva ogni volta che il foglio di lavoro viene aperto da qualsiasi utente con accesso in modifica,
proprio come il trigger semplice onOpen()
. Tuttavia, la versione installabile può
chiamare servizi che richiedono
autorizzazione. La versione
installabile viene eseguita con l'autorizzazione dell'utente che ha creato il trigger, anche
se un altro utente con accesso in modifica apre il foglio di lavoro.
Esistono diversi trigger installabili per le applicazioniGoogle Workspace :
- Un trigger open installabile viene eseguito quando un utente apre un foglio di lavoro, un documento o un modulo che ha l'autorizzazione a modificare.
- Un trigger modifica installabile viene eseguito quando un utente modifica un valore in un foglio di lavoro.
- Un trigger modifica installabile viene eseguito quando un utente modifica la struttura di un foglio di lavoro, ad esempio aggiungendo un nuovo foglio o rimuovendo una colonna.
- Un trigger invio modulo installabile viene eseguito quando un utente risponde a un modulo. Esistono due versioni del trigger di invio del modulo, una per Moduli Google e una per Fogli se il modulo viene inviato a un foglio di lavoro.
- Un trigger evento di calendario installabile viene eseguito quando gli eventi di calendario di un utente vengono aggiornati, creati, modificati o eliminati.
Puoi utilizzare i trigger installabili negli script autonomi e associati. Ad esempio,
uno script autonomo può creare in modo programmatico un trigger installabile per un
file Fogli Google arbitrario chiamando
TriggerBuilder.forSpreadsheet(key)
e passando l'ID del foglio di lavoro.
Gestire manualmente i trigger
Per creare manualmente un trigger installabile nell'editor di script:
- Apri il progetto Apps Script.
- A sinistra, fai clic su Attivatori .
- In basso a destra, fai clic su Aggiungi trigger.
- Seleziona e configura il tipo di trigger che vuoi creare.
- Fai clic su Salva.
Gestire i trigger in modo programmatico
Puoi anche creare ed eliminare trigger in modo programmatico con il
servizio Script. Inizia chiamando
ScriptApp.newTrigger(functionName)
,
che restituisce un
TriggerBuilder
.
L'esempio seguente mostra come creare due trigger basati sul tempo: uno che si attiva ogni 6 ore e uno che si attiva ogni lunedì alle 9:00 (nel fuso orario impostato per lo script).
L'esempio successivo mostra come creare un attivatore open installabile per un
foglio di lavoro. Tieni presente che, a differenza di un semplice trigger onOpen()
, lo script per il trigger installabile non deve essere associato al foglio di lavoro. Per creare
questo trigger da uno script autonomo, sostituisci
SpreadsheetApp.getActive()
con una chiamata a
SpreadsheetApp.openById(id)
.
Per modificare in modo programmatico un trigger installabile esistente, devi eliminarlo e crearne uno nuovo. Se hai memorizzato in precedenza l'ID di un trigger, puoi eliminarlo passando l'ID come argomento alla funzione riportata di seguito.
Prima di creare un trigger, ti consigliamo di verificare che la funzione associata disponga di tutte le autorizzazioni OAuth necessarie.
Errori negli attivatori
Quando viene attivato un trigger installabile, ma la funzione genera un'eccezione o non viene eseguita correttamente, non viene visualizzato un messaggio di errore sullo schermo. Dopo tutto, quando viene eseguito un trigger basato sul tempo o un altro utente attiva il trigger di invio del modulo, potresti non essere nemmeno al computer.
Apps Script ti invia invece un'email come la seguente:
From: noreply-apps-scripts-notifications@google.com Subject: Summary of failures for Google Apps Script Your script has recently failed to finish successfully. A summary of the failure(s) is shown below.
L'email include un link per disattivare o riconfigurare il trigger. Se lo script è associato a un file Fogli, Documenti o Moduli Google, l'email include anche un link a quel file. Questi link ti consentono di disattivare il trigger o modificare lo script per correggere il bug.
Per rivedere tutti i trigger associati al tuo Account Google e disattivare quelli che non ti servono più, segui questi passaggi:
- Visita il sito
script.google.com
. - A sinistra, fai clic su I miei attivatori.
Per eliminare un trigger, fai clic su Altro a destra del trigger
> Elimina trigger.
Trigger nei componenti aggiuntivi
Oltre ai trigger installabili, puoi utilizzare i trigger manifest nei componenti aggiuntivi. Per saperne di più, vedi Trigger per i componenti aggiuntivi Google Workspace.