Os acionadores simples e os acionadores instaláveis permitem que o Apps Script execute uma função automaticamente se ocorrer um determinado evento. Quando um gatilho é disparado,
o Apps Script transmite um objeto de evento como argumento, geralmente chamado de
e
. O objeto de evento contém informações sobre o contexto que causou o disparo do acionador. Por exemplo, o exemplo de código abaixo mostra um acionador onEdit(e)
simples para um script do Planilhas Google 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, detalhamos os campos no objeto de evento para diferentes tipos de acionadores.
Eventos do Planilhas Google
Os vários acionadores específicos das Planilhas Google 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 acionador que produziu o evento (somente acionadores 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 acionador que produziu o 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. Será indefinido se a célula não tiver conteúdo anterior. 1234 |
range |
Um objeto Range |
source |
Um objeto Spreadsheet |
triggerUid |
ID do acionador que produziu o evento (somente acionadores instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
value |
Novo valor de 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 da pergunta 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 acionador que produziu o evento. 4034124084959907503 |
values |
Matriz com valores na mesma ordem em que eles aparecem na planilha. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Eventos do Documentos Google
Os acionadores permitem que o Documentos Google responda quando um usuário abre um arquivo.
Abrir(simples e instalável) |
|
---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Document |
triggerUid |
ID do acionador que produziu o evento (somente acionadores instaláveis). 4034124084959907503 |
user |
Um objeto amin@example.com |
Eventos do Apresentações Google
Os acionadores permitem que o Apresentações Google responda quando um usuário abrir uma apresentação.
Abrir(simples) |
|
---|---|
authMode |
Um valor da enumeração LIMITED |
source |
Um objeto Presentation |
user |
Um objeto amin@example.com |
Eventos do Formulários Google
Com os acionadores específicos do Formulários Google, os scripts podem responder 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 acionador que produziu o evento (somente acionadores 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 acionador que produziu o evento. 4034124084959907503 |
Eventos do Google Agenda
Os gatilhos da agenda são acionados quando os eventos da agenda de um usuário são atualizados (criados, editados ou excluídos).
Esses gatilhos não informam qual evento mudou ou como isso mudou. Em vez disso, elas indicam que seu código precisa fazer uma operação de sincronização incremental para selecionar as alterações recentes na agenda. Para ver uma descrição completa deste 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 do Agenda para o projeto de script. O serviço integrado do Agenda não é suficiente para este fluxo de trabalho.
- Determine quais agendas devem ser sincronizadas. Para cada uma dessas agendas, execute uma operação de sincronização inicial usando o método Events.list() do serviço avançado do Agenda.
- O resultado da sincronização inicial retorna um
nextSyncToken
para essa agenda. Armazene esse token para uso posterior. - Quando o acionador
EventUpdated
do Apps Script indicar uma mudança no evento da agenda, faça uma sincronização incremental para a agenda afetada usando onextSyncToken
armazenado. Essa é essencialmente outra solicitação Events.list(), mas fornecer onextSyncToken
limita a resposta apenas a eventos que mudaram desde a última sincronização. - Analise a resposta da sincronização para saber quais eventos foram atualizados e fazer com que o código responda de forma adequada. Por exemplo, é possível registrar a alteração, atualizar uma planilha, enviar avisos por e-mail ou realizar outras ações.
- Atualize o
nextSyncToken
armazenado nessa agenda com o retornado pela solicitação de sincronização incremental. Isso força a próxima operação de sincronização a retornar apenas as alterações mais atuais.
Evento atualizado(instalável) |
|
---|---|
authMode |
Um valor da enumeração
FULL |
calendarId |
O ID da string da agenda em que a atualização do evento ocorreu. susan@example.com |
triggerUid |
ID do acionador que produziu o evento. 4034124084959907503 |
Eventos de complementos
O acionador onInstall()
é executado
automaticamente quando um usuário instala um complemento.
Instalar(simples) |
|
---|---|
authMode |
Um valor da enumeração FULL |
Eventos com base no tempo
Os acionadores baseados em tempo, também chamados de acionadores de relógio, permitem executar scripts 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 acionador que produziu o 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 |