Os gatilhos permitem que o Apps Script execute uma função automaticamente quando ocorre um determinado evento,
como abrir um documento. Gatilhos simples são um conjunto
de funções reservadas integradas ao Apps Script, como a função onOpen(e)
,
que é executada quando um usuário abre um arquivo dos Documentos, Planilhas, Apresentações ou Formulários Google.
Os acionadores instaláveis oferecem mais
recursos do que acionadores simples, mas precisam ser ativados antes do uso. Para os dois tipos de acionador, o Apps Script transmite à função acionada um objeto de evento que contém informações sobre o contexto em que o evento ocorreu.
Como começar
Para usar um gatilho simples, basta criar uma função que use um destes nomes reservados:
- A
onOpen(e)
é executada quando um usuário abre uma planilha, um documento, uma apresentação ou um formulário que o usuário tem permissão para editar. - O
onInstall(e)
é executado quando um usuário instala um complemento do Editor no Documentos, Planilhas, Apresentações ou Formulários Google. - A função
onEdit(e)
é executada quando um usuário muda um valor em uma planilha. onSelectionChange(e)
é executado quando um usuário muda a seleção em uma planilha.- O
doGet(e)
é executado quando um usuário visita um app da Web ou um programa envia uma solicitação HTTPGET
para um app da Web. - O
doPost(e)
é executado quando um programa envia uma solicitação HTTPPOST
a um app da Web.
O parâmetro e
nos nomes das funções acima é um objeto de evento transmitido para a função. O objeto contém informações sobre o contexto que causou o disparo do
acionador, mas o uso dele é opcional.
Restrições
Como acionadores simples são disparados automaticamente, sem solicitar autorização ao usuário, eles estão sujeitos a várias restrições:
- O script precisa estar vinculado a um arquivo das Planilhas, Apresentações, Documentos ou Formulários Google ou ser um complemento que estenda um desses aplicativos.
- Eles não são executados quando um arquivo é aberto no modo somente leitura (visualização ou comentário).
- Execuções de script e solicitações de API não causam a execução de acionadores. Por exemplo, chamar
Range.setValue()
para editar uma célula não faz com que o acionadoronEdit
da planilha seja executado. - Elas não podem acessar serviços que exigem autorização. Por exemplo, um gatilho simples não pode enviar um e-mail porque o serviço do Gmail requer autorização, mas um gatilho simples pode traduzir uma frase com o serviço de idioma, que é anônimo.
- Eles podem modificar o arquivo a que estão vinculados, mas não podem acessar outros arquivos porque isso exigiria autorização.
- Eles podem ou não determinar a identidade do usuário atual, dependendo de um conjunto complexo de restrições de segurança.
- Eles não podem ser executados por mais de 30 segundos.
- Em determinadas circunstâncias, os
complementos do editor executam os gatilhos simples
onOpen(e)
eonEdit(e)
em um modo sem autorização que apresenta mais algumas complicações. Para mais informações, consulte o guia para o ciclo de vida de autorização de complementos. - Gatilhos simples estão sujeitos aos limites de cota de acionadores do Apps Script.
Essas restrições não são válidas para doGet(e)
ou doPost(e)
.
onOpen(e)
O acionador onOpen(e)
é executado automaticamente quando um usuário abre uma planilha,
documento, apresentação ou formulário que ele tem permissão para editar. O acionador não é executado ao responder a um formulário, apenas ao abrir o formulário para editá-lo. O onOpen(e)
é mais usado para adicionar
itens de menu personalizados a Planilhas, Apresentações, Documentos ou
Formulários Google.
onInstall(e)
O acionador onInstall(e)
é executado automaticamente quando um usuário instala um
complemento do Editor no
Documentos, Planilhas, Apresentações ou Formulários Google. O acionador não vai ser executado quando um usuário
instalar o complemento do
site do
Google Workspace Marketplace. Há algumas restrições sobre o que onInstall(e)
pode fazer. Saiba mais sobre autorização.
O uso mais comum de onInstall(e)
é simplesmente chamar onOpen(e)
para adicionar
menus personalizados. Afinal, quando um complemento é instalado, o arquivo já está aberto
e, portanto, onOpen(e)
não é executado por conta própria, a menos que o arquivo seja reaberto.
onEdit(e)
O acionador onEdit(e)
é executado automaticamente quando um usuário altera o valor de qualquer
célula em uma planilha. A maioria dos acionadores onEdit(e)
usa as informações no
objeto de evento para responder de maneira adequada.
Por exemplo, a função onEdit(e)
abaixo define um comentário na célula que registra a última vez em que foi editada.
onSelectionChange(e)
O gatilho onSelectionChange(e)
é executado automaticamente quando um usuário muda a
seleção em uma planilha. Para ativar esse acionador, você precisa atualizar a
planilha depois que o acionador for adicionado e toda vez que a planilha for aberta.
Se a seleção se mover entre várias células em um curto período, alguns eventos
de mudança de seleção poderão ser ignorados para reduzir a latência. Por exemplo, se muitas mudanças de
seleção forem feitas com dois segundos de diferença uma após a outra, apenas a primeira e a última
mudanças de seleção vão ativar o acionador onSelectionChange(e)
.
No exemplo abaixo, se uma célula vazia for selecionada, a função onSelectionChange(e)
definirá o plano de fundo da célula como vermelho.
doGet(e)
e doPost(e)
O gatilho doGet(e)
é executado automaticamente quando um usuário visita um
app da Web ou um programa envia uma solicitação GET
HTTP
a um app da Web. doPost(e)
é executado quando um programa envia uma solicitação HTTP POST
a um
app da Web. Esses gatilhos são demonstrados em mais detalhes nos guias sobre
apps da Web, serviço HTML
e serviço de conteúdo. Observe que doGet(e)
e doPost(e)
não estão sujeitos às restrições listadas acima.
Tipos de acionadores disponíveis
Se as restrições em gatilhos simples impedirem que eles atendam às suas necessidades, um gatilho instalável poderá funcionar. A tabela abaixo resume os tipos de gatilhos disponíveis para cada tipo de evento. Por exemplo, Planilhas, Apresentações, Formulários e Documentos Google são compatíveis com gatilhos de abertura simples, mas somente os apps Planilhas, Documentos e Formulários são compatíveis com acionadores de abertura instaláveis.
Evento | Gatilhos simples | Acionadores instaláveis |
---|---|---|
Abrir |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
Editar |
![]()
|
![]() |
Mudança na seleção |
![]()
|
|
Instalar |
![]() ![]() ![]() ![]()
|
|
Mudar |
![]() |
|
Envio de formulário |
![]() ![]() |
|
Orientado por tempo (relógio) |
![]() ![]() ![]() ![]() ![]() |
|
Get |
![]()
|
|
Postar |
![]()
|
* O evento de abertura do Formulários Google não ocorre quando um usuário abre um formulário para responder, mas quando um editor abre o formulário para modificá-lo.