I trigger semplici e i trigger installabili consentono a Google Apps Script di eseguire automaticamente una funzione se si verifica un determinato evento. Quando un trigger viene attivato, Apps Script passa alla funzione un oggetto evento come argomento, in genere e. L'oggetto evento contiene
informazioni sul contesto che ha causato l'attivazione del trigger. Ad esempio, il
seguente codice di esempio mostra un semplice attivatore onEdit(e) per uno script
Google Fogli che utilizza l'oggetto evento per determinare quale cella è stata modificata.
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}
Questa pagina descrive i campi nell'oggetto evento per diversi tipi di attivatori.
Gli eventi prodotti da attivatori installabili contengono un triggerUid che identifica l'attivatore che ha prodotto l'evento. Ciò è utile per gli script con più
trigger installabili.
Eventi Fogli Google
I vari trigger specifici di Fogli Google consentono agli script di rispondere alle azioni di un utente in un foglio di lavoro.
Apri(semplice e installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione LIMITED |
source |
Un oggetto Spreadsheet |
triggerUid |
ID dell'attivatore che ha generato questo evento (solo attivatori installabili). 4034124084959907503 |
user |
Un oggetto amin@example.com |
Cambia(installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione FULL |
changeType |
Il tipo di modifica ( INSERT_ROW |
source |
Un oggetto
Spreadsheet |
triggerUid |
ID dell'attivatore che ha generato questo evento. 4034124084959907503 |
user |
Un oggetto amin@example.com |
Modifica(semplice e installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione LIMITED |
oldValue |
Il valore della cella prima della modifica, se presente. Disponibile solo se l'intervallo modificato è una singola cella. È indefinito se la cella non aveva contenuti precedenti. 1234 |
range |
Un oggetto Range |
source |
Un oggetto Spreadsheet |
triggerUid |
ID dell'attivatore che ha generato questo evento (solo attivatori installabili). 4034124084959907503 |
user |
Un oggetto amin@example.com |
value |
Nuovo valore della cella dopo la modifica. Disponibile solo se l'intervallo modificato è una singola cella. 10 |
Invio del modulo(installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione FULL |
namedValues |
Un oggetto contenente i nomi e i valori delle domande dell'invio del modulo. {
'First Name': ['Jane'],
'Timestamp': ['6/7/2015 20:54:13'],
'Last Name': ['Doe']
} |
range |
Un oggetto Range |
triggerUid |
ID dell'attivatore che ha generato questo evento. 4034124084959907503 |
values |
Array con valori nello stesso ordine in cui appaiono nel foglio di lavoro. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Eventi di Documenti Google
I trigger consentono a Documenti di rispondere quando un utente apre un documento.
Apri(semplice e installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione LIMITED |
source |
Un oggetto Document |
triggerUid |
ID dell'attivatore che ha generato questo evento (solo attivatori installabili). 4034124084959907503 |
user |
Un oggetto amin@example.com |
Eventi di Presentazioni Google
I trigger consentono a Presentazioni di rispondere quando un utente apre una presentazione.
Apri(semplice) |
|
|---|---|
authMode |
Un valore dell'enumerazione LIMITED |
source |
Un oggetto Presentation |
user |
Un oggetto amin@example.com |
Eventi di Moduli Google
I trigger specifici per Moduli consentono agli script di rispondere quando un utente modifica un modulo o invia una risposta.
Apri* (semplice e installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione LIMITED |
source |
Un oggetto Form |
triggerUid |
ID dell'attivatore che ha generato questo evento (solo attivatori installabili). 4034124084959907503 |
user |
Un oggetto amin@example.com |
* Questo evento non si verifica quando un utente apre un modulo per rispondere, ma quando un editor lo apre per modificarlo.
Invio del modulo(installabile) |
|
|---|---|
authMode |
Un valore dell'enumerazione FULL |
response |
Un oggetto FormResponse |
source |
Un oggetto Form |
triggerUid |
ID dell'attivatore che ha generato questo evento. 4034124084959907503 |
Eventi di Google Calendar
I trigger di Google Calendar si attivano quando gli eventi di calendario di un utente vengono aggiornati (creati, modificati o eliminati).
Questi trigger non indicano quale evento è cambiato o in che modo. Indicano invece che il codice deve eseguire un'operazione di sincronizzazione incrementale per rilevare le modifiche recenti apportate al calendario. Per una descrizione completa di questa procedura, consulta la Guida alla sincronizzazione delle risorse per l'API Calendar.
Per sincronizzare con Calendar in Apps Script, svolgi i seguenti passaggi:
- Abilita il servizio avanzato Calendar per il progetto di script. Il servizio Calendar integrato non è sufficiente per questo flusso di lavoro.
- Determina quali calendari sincronizzare. Per ogni calendario, esegui un'operazione di sincronizzazione iniziale utilizzando il metodo Events.list() del servizio avanzato Calendar.
- La sincronizzazione iniziale restituisce un
nextSyncTokenper quel calendario. Memorizza questo token per utilizzarlo in un secondo momento. - Quando l'attivatore Apps Script
EventUpdatedsi attiva indicando una modifica dell'evento di calendario, esegui una sincronizzazione incrementale per il calendario interessato utilizzandonextSyncTokenmemorizzato. Si tratta essenzialmente di un'altra richiesta Events.list(), ma fornirenextSyncTokenlimita la risposta solo agli eventi che sono cambiati dall'ultima sincronizzazione. - Esamina la risposta della sincronizzazione per scoprire quali eventi sono stati aggiornati e fai in modo che il codice risponda in modo appropriato. Ad esempio, registra la modifica, aggiorna un foglio di lavoro, invia notifiche via email o esegui altre azioni.
- Aggiorna il
nextSyncTokenmemorizzato per quel calendario con quello restituito dalla richiesta di sincronizzazione incrementale. In questo modo, la successiva operazione di sincronizzazione restituirà solo le modifiche più recenti.
A volte i token di sincronizzazione vengono invalidati dal server, causando un errore
410. In questo caso, il codice deve eseguire una
sincronizzazione completa
e sostituire tutti i dati e i token sincronizzati archiviati per quel calendario.
EventUpdated(installabile) |
|
|---|---|
authMode |
Un valore dell'enum
FULL |
calendarId |
L'ID stringa del calendario in cui è stato aggiornato l'evento. susan@example.com |
triggerUid |
ID dell'attivatore che ha generato questo evento. 4034124084959907503 |
Eventi dei componenti aggiuntivi di Google Workspace
Il trigger onInstall() viene eseguito
automaticamente quando un utente installa un
componente aggiuntivo.
Installa(semplice) |
|
|---|---|
authMode |
Un valore dell'enumerazione FULL |
Eventi dell'app Google Chat
Per informazioni sugli oggetti evento in Google Chat, consulta Ricevere e rispondere alle interazioni con l'app Google Chat.
Eventi basati sul tempo
I trigger basati sul tempo (chiamati anche trigger orologio) consentono agli script di essere eseguiti a un'ora specifica o a un intervallo ricorrente.
| Basato sul tempo (installabile) | |
|---|---|
authMode |
Un valore dell'enumerazione FULL |
day-of-month |
Tra Poiché il nome di questa proprietà contiene trattini, è necessario accedervi tramite
31 |
day-of-week |
Tra Poiché il nome di questa proprietà contiene trattini, è necessario accedervi tramite
7 |
hour |
Tra 23 |
minute |
Tra 59 |
month |
Tra 12 |
second |
Tra 59 |
timezone |
Il fuso orario. UTC |
triggerUid |
ID dell'attivatore che ha generato questo evento. 4034124084959907503 |
week-of-year |
Tra Poiché il nome di questa proprietà contiene trattini, è necessario accedervi tramite
52 |
year |
L'anno. 2015 |