Com os gatilhos simples e instaláveis, o Google Apps Script executa uma função automaticamente quando um determinado evento acontece. Quando um gatilho é acionado, o Apps Script transmite à função um
objeto de evento como argumento, geralmente e. O objeto de evento contém informações sobre o contexto que causou o acionamento. Por exemplo, o exemplo de código a seguir mostra um gatilho onEdit(e) simples para um script do Google Planilhas que usa o objeto de evento para determinar qual célula foi editada.
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());
}
Nesta página, descrevemos os campos no objeto de evento para diferentes tipos de acionadores.
Os eventos produzidos por gatilhos instaláveis contêm um triggerUid que identifica o
gatilho que produziu o evento. Isso ajuda scripts que têm vários
acionadores instaláveis.
Eventos do Google Planilhas
Os vários gatilhos específicos do Google Sheets permitem que os scripts respondam às ações de um usuário em uma planilha.
Abrir(simples e instalável) |
|
|---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Spreadsheet |
triggerUid |
ID do gatilho que gerou este evento (somente gatilhos instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
Mudar(instalável) |
|
|---|---|
authMode |
Um valor da enumeração FULL |
changeType |
O tipo de mudança ( INSERT_ROW |
source |
Um objeto
Spreadsheet |
triggerUid |
ID do gatilho que gerou este evento. 4034124084959907503 |
user |
Um objeto amin@example.com |
Editar(simples e instalável) |
|
|---|---|
authMode |
Um valor da enumeração LIMITED |
oldValue |
Valor da célula antes da edição, se houver. Disponível apenas se o intervalo editado for uma única célula. É indefinido se a célula não tinha conteúdo anterior. 1234 |
range |
Um objeto Range |
source |
Um objeto Spreadsheet |
triggerUid |
ID do gatilho que gerou este evento (somente gatilhos instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
value |
Novo valor da célula após a edição. Disponível apenas se o intervalo editado for uma única célula. 10 |
Envio de formulário(instalável) |
|
|---|---|
authMode |
Um valor da enumeração FULL |
namedValues |
Um objeto que contém os nomes e valores das perguntas do envio do formulário. {
'First Name': ['Jane'],
'Timestamp': ['6/7/2015 20:54:13'],
'Last Name': ['Doe']
} |
range |
Um objeto Range |
triggerUid |
ID do gatilho que gerou este evento. 4034124084959907503 |
values |
Matriz com valores na mesma ordem em que aparecem na planilha. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Eventos do Google Docs
Os acionadores permitem que o Google Docs responda quando um usuário abre um documento.
Abrir(simples e instalável) |
|
|---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Document |
triggerUid |
ID do gatilho que gerou este evento (somente gatilhos instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
Eventos do Google Slides
Os gatilhos permitem que o Apresentações responda quando um usuário abre uma apresentação.
Abrir(simples) |
|
|---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Presentation |
user |
Um objeto amin@example.com |
Eventos do Google Formulários
Os gatilhos específicos do Formulários permitem que os scripts respondam quando um usuário edita um formulário ou envia uma resposta.
Abrir* (simples e instalável) |
|
|---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Form |
triggerUid |
ID do gatilho que gerou este evento (somente gatilhos instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
* Esse evento não ocorre quando um usuário abre um formulário para responder, mas quando um editor abre o formulário para modificá-lo.
Envio de formulário(instalável) |
|
|---|---|
authMode |
Um valor da enumeração FULL |
response |
Um objeto FormResponse |
source |
Um objeto Form |
triggerUid |
ID do gatilho que gerou este evento. 4034124084959907503 |
Eventos do Google Agenda
Os gatilhos do Google Agenda são acionados quando os eventos da agenda de um usuário são atualizados (criados, editados ou excluídos).
Esses acionadores não informam qual evento mudou ou como ele mudou. Em vez disso, eles indicam que seu código precisa fazer uma operação de sincronização incremental para capturar as mudanças recentes na agenda. Para uma descrição completa desse procedimento, consulte o guia de sincronização de recursos da API Calendar.
Para sincronizar com o Google Agenda no Apps Script, siga estas etapas:
- Ative o serviço avançado da Agenda para o projeto de script. O serviço de agenda integrado não é suficiente para esse fluxo de trabalho.
- Determine quais agendas sincronizar. Para cada agenda, faça uma operação de sincronização inicial usando o método Events.list() do serviço avançado do Google Agenda.
- A sincronização inicial retorna um
nextSyncTokenpara essa agenda. Armazene esse token para uso posterior. - Quando o acionador
EventUpdateddo Apps Script é acionado, indicando uma mudança no evento da agenda, faça uma sincronização incremental da agenda afetada usando onextSyncTokenarmazenado. Essa é essencialmente outra solicitação Events.list(), mas fornecer onextSyncTokenlimita a resposta apenas a eventos que mudaram desde a última sincronização. - Examine a resposta da sincronização para saber quais eventos foram atualizados e faça com que seu código responda adequadamente. Por exemplo, registre a mudança, atualize uma planilha, envie avisos por e-mail ou tome outras medidas.
- Atualize o
nextSyncTokenarmazenado para esse calendário com o que foi retornado pela solicitação de sincronização incremental. Isso força a próxima operação de sincronização a retornar apenas as mudanças mais recentes.
Às vezes, os tokens de sincronização são invalidados pelo servidor, resultando em um erro
410. Quando isso acontecer, seu código vai realizar uma sincronização completa e substituir todos os dados e tokens sincronizados armazenados para esse calendário.
EventUpdated(instalável) |
|
|---|---|
authMode |
Um valor da enumeração
FULL |
calendarId |
O ID de string da agenda em que a atualização do evento ocorreu. susan@example.com |
triggerUid |
ID do gatilho que gerou este evento. 4034124084959907503 |
Eventos de complementos do Google Workspace
O gatilho onInstall() é executado
automaticamente quando um usuário instala um
complemento.
Instalar(simples) |
|
|---|---|
authMode |
Um valor da enumeração FULL |
Eventos do app Google Chat
Para saber mais sobre objetos de evento no Google Chat, consulte Receber e responder a interações com seu app de chat do Google Chat.
Eventos baseados em tempo
Os gatilhos por tempo (também chamados de gatilhos de relógio) permitem que os scripts sejam executados em um horário específico ou em um intervalo recorrente.
| Baseado no tempo (instalável) | |
|---|---|
authMode |
Um valor da enumeração FULL |
day-of-month |
Entre Como esse nome de propriedade contém traços, ele precisa ser acessado por
31 |
day-of-week |
Entre Como esse nome de propriedade contém traços, ele precisa ser acessado por
7 |
hour |
Entre 23 |
minute |
Entre 59 |
month |
Entre 12 |
second |
Entre 59 |
timezone |
O fuso horário. UTC |
triggerUid |
ID do gatilho que gerou este evento. 4034124084959907503 |
week-of-year |
Entre Como esse nome de propriedade contém traços, ele precisa ser acessado por
52 |
year |
O ano. 2015 |