Acessar e manipular a publicação e os gatilhos de scripts. Essa classe permite que os usuários criem acionadores de script e controlem a publicação do script como um serviço.
Propriedades
Propriedade | Tipo | Descrição |
---|---|---|
Auth | Auth | Uma enumeração que identifica quais categorias de serviços autorizados o Apps Script pode executar usando uma função acionada. |
Authorization | Authorization | Uma enumeração que indica o status de autorização de um script. |
Event | Event | Uma enumeração que indica o tipo de evento acionado. |
Installation | Installation | Uma enumeração que indica como o script foi instalado para o usuário como um complemento. |
Trigger | Trigger | Uma enumeração que indica a origem do evento que aciona o acionador. |
Week | Weekday | Uma enumeração que representa os dias da semana. |
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
delete | void | Remove o acionador especificado para que ele não seja mais executado. |
get | Authorization | Recebe um objeto que verifica se o usuário concedeu autorização para todos os requisitos do script. |
get | Authorization | Recebe um objeto que verifica se o usuário concedeu autorização para os escopos solicitados. |
get | String | Recebe um token de identidade do Openopenid tiver sido concedido. |
get | Installation | Retorna um valor de tipo enumerado que indica como o script foi instalado como um complemento para o usuário atual, por exemplo, se o usuário o instalou pessoalmente na Chrome Web Store ou se um administrador de domínio o instalou para todos os usuários. |
get | String | Recebe o token de acesso do OAuth 2.0 para o usuário efetivo. |
get | Trigger[] | Recebe todos os acionadores instaláveis associados ao projeto e ao usuário atuais. |
get | String | Recebe o ID exclusivo do projeto do script. |
get | Service | Recebe um objeto usado para controlar a publicação do script como um app da Web. |
get | Trigger[] | Recebe todos os acionadores instaláveis pertencentes a esse usuário no documento fornecido, apenas para esse script ou complemento. |
get | Trigger[] | Recebe todos os acionadores instaláveis pertencentes a esse usuário no formulário fornecido, apenas para esse script ou complemento. |
get | Trigger[] | Recebe todos os acionadores instaláveis pertencentes a esse usuário na planilha especificada, apenas para este script ou complemento. |
invalidate | void | Invalida a autorização do usuário efetivo para executar o script atual. |
new | State | Cria um builder para um token de estado que pode ser usado em uma API de callback (como um fluxo OAuth). |
new | Trigger | Inicia o processo de criação de um acionador instalável que, quando acionado, chama uma determinada função. |
require | void | Valida se o usuário concedeu consentimento para todos os escopos solicitados pelo script. |
require | void | Valida se o usuário concedeu consentimento para os escopos solicitados. |
Documentação detalhada
delete Trigger(trigger)
Remove o acionador especificado para que ele não seja mais executado.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
trigger | Trigger | O acionador a ser excluído. |
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Recebe um objeto que verifica se o usuário concedeu autorização para todos os requisitos do script. O objeto também fornece um URL de autorização para que os usuários concedam essas permissões, caso algum dos requisitos do script não seja autorizado.
Algumas execuções de script podem começar sem o consentimento do usuário para todos os escopos necessários usados pelo script. As informações neste objeto permitem controlar o acesso a seções de código que exigem determinados escopos e solicitar a autorização desses escopos para execuções subsequentes.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
auth | Auth | O modo de autorização para o qual as informações de autorização são solicitadas. Em
quase todos os casos, o valor de auth precisa ser Script , já que nenhum outro modo de autorização
exige que os usuários concedam autorização. |
Retornar
Authorization
: um objeto que pode fornecer informações sobre o status de autorização do usuário.
get Authorization Info(authMode, oAuthScopes)
Recebe um objeto que verifica se o usuário concedeu autorização para os escopos solicitados. O objeto também fornece um URL de autorização para que os usuários concedam essas permissões, caso algum dos escopos solicitados não esteja autorizado.
Algumas execuções de script podem começar sem o consentimento do usuário para todos os escopos necessários usados pelo script. As informações neste objeto permitem controlar o acesso a seções de código que exigem determinados escopos e solicitam a autorização desses escopos para execuções subsequentes. Os escopos que são inválidos ou não exigem o script para gerar um erro.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
auth | Auth | O modo de autorização para o qual as informações de autorização são solicitadas. Em
quase todos os casos, o valor de auth precisa ser Script ,
já que nenhum outro modo de autorização exige que os usuários concedam autorização. |
oAuthScopes | String[] | Os escopos do OAuth para os quais as informações de autorização são solicitadas. |
Retornar
Authorization
: um objeto que fornece informações sobre o status de autorização do usuário e um
URL de autorização caso alguns consentimentos estejam ausentes.
get Identity Token()
Recebe um token de identidade do Openopenid
tiver sido concedido. Esse escopo não é incluído
por padrão, e você precisa adicioná-lo como um escopo explícito no arquivo
de manifesto para solicitá-lo. Inclua os escopos https://www.googleapis.com/auth/userinfo.email
ou https://www.googleapis.com/auth/userinfo.profile
para retornar outras
informações do usuário no token.
O token de ID retornado é um token da Web JSON (JWT) codificado e precisa ser decodificado para extrair informações. Os exemplos a seguir mostram como decodificar o token e extrair o ID do perfil do Google do usuário efetivo.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Retornar
String
: o token de identidade, se disponível. Caso contrário, null
.
get Installation Source()
Retorna um valor de tipo enumerado que indica como o script foi instalado como um complemento para o usuário atual, por exemplo, se o usuário o instalou pessoalmente na Chrome Web Store ou se um administrador de domínio o instalou para todos os usuários.
Retornar
Installation
: a origem da instalação.
get OAuth Token()
Recebe o token de acesso do OAuth 2.0 para o usuário efetivo. Se os escopos do OAuth do script forem suficientes para autorizar outra API do Google que normalmente exija o próprio fluxo do OAuth (como o Google Picker), os scripts poderão ignorar a segunda solicitação de autorização transmitindo esse token. O token expira após um período (no mínimo alguns minutos). Os scripts precisam processar falhas de autorização e chamar esse método para obter um novo token quando necessário.
O token retornado por esse método inclui apenas os escopos necessários para o script no momento. Os escopos que foram autorizados anteriormente, mas não são mais usados pelo script, não são incluídos no token retornado. Se outros escopos do OAuth forem necessários além do que o script exige, eles poderão ser especificados no arquivo de manifesto do script.
Retornar
String
: uma representação de string do token do OAuth 2.0.
get Project Triggers()
Recebe todos os acionadores instaláveis associados ao projeto e ao usuário atuais.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Retornar
Trigger[]
: uma matriz dos acionadores do usuário atual associados a esse projeto.
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Recebe o ID exclusivo do projeto do script. Esse é o método preferencial para receber o identificador exclusivo
do projeto de script, em vez de
. Esse ID pode ser usado em todos os lugares
em que a chave do projeto foi fornecida anteriormente.get
Retornar
String
: o ID do projeto do script.
get Service()
Recebe um objeto usado para controlar a publicação do script como um app da Web.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Retornar
Service
: um objeto usado para observar e controlar a publicação do script como um app da Web.
get User Triggers(document)
Recebe todos os acionadores instaláveis pertencentes a esse usuário no documento fornecido, apenas para esse script ou complemento. Esse método não pode ser usado para conferir os acionadores anexados a outros scripts.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
document | Document | Um arquivo do Documentos Google que pode conter gatilhos instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário no documento fornecido.
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Recebe todos os acionadores instaláveis pertencentes a esse usuário no formulário fornecido, apenas para esse script ou complemento. Esse método não pode ser usado para conferir os acionadores anexados a outros scripts.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
form | Form | Um arquivo do Google Formulários que pode conter gatilhos instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário no formulário especificado.
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Recebe todos os acionadores instaláveis pertencentes a esse usuário na planilha especificada, apenas para este script ou complemento. Esse método não pode ser usado para conferir os acionadores anexados a outros scripts.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
spreadsheet | Spreadsheet | Um arquivo do Planilhas Google que pode conter gatilhos instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário na planilha.
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Invalida a autorização do usuário efetivo para executar o script atual. Usado para invalidar todas as permissões do script atual. Isso é especialmente útil para funções marcadas como autorização única. Como as funções de autorização únicas só podem ser chamadas na primeira execução depois que o script adquiriu a autorização, se você quiser realizar uma ação depois, é necessário revogar qualquer autorização que o script tenha, para que o usuário possa ver a caixa de diálogo de autorização novamente.
ScriptApp .invalidateAuth();
Gera
Error
: quando a invalidação falha.
new State Token()
Cria um builder para um token de estado que pode ser usado em uma API de callback (como um fluxo OAuth).
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Na maioria dos fluxos OAuth2, o token state
é transmitido diretamente para o endpoint de autorização, não como parte do URL do callback, e o endpoint de autorização o transmite como parte do URL do callback.
Exemplo:
- O script redireciona o usuário para o URL de autorização do OAuth2:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- O usuário clica em "Autorizar", e a página de autorização OAuth2 redireciona o usuário de volta para
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- O redirecionamento acima (de volta para
http://script.google.com/...
) faz com que a solicitação do navegador seja/usercallback
, que invoca o método especificado porState
.Token Builder.withMethod(method)
Retornar
State
: um objeto usado para continuar o processo de criação de tokens de estado.
new Trigger(functionName)
Inicia o processo de criação de um acionador instalável que, quando acionado, chama uma determinada função.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
function | String | A função a ser chamada quando o acionador for acionado. É possível usar funções de
bibliotecas incluídas, como Library.libFunction1 . |
Retornar
Trigger
: um objeto usado para continuar o processo de criação de acionadores.
Autorização
Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Valida se o usuário concedeu consentimento para todos os escopos solicitados pelo script. Use esse método se um fluxo de execução depender de todos os escopos solicitados por um script. Se algum consentimento estiver ausente, esse método encerrará a execução atual e renderizará uma solicitação de autorização para solicitar os consentimentos ausentes.
Esse método só funciona quando os usuários executam o script em uma plataforma que oferece suporte ao consentimento granular, por exemplo, no ambiente de desenvolvimento integrado do Apps Script. Quando o script é executado com consentimentos ausentes de uma plataforma sem suporte, como um complemento do Google Workspace, ele renderiza uma solicitação de autorização no início da execução para solicitar todos os escopos.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
auth | Auth | O modo de autorização para o qual os escopos do script precisam ser avaliados. Em quase
todos os casos, o valor de auth precisa ser Script , já que
nenhum outro modo de autorização exige que os usuários concedam autorização. |
require Scopes(authMode, oAuthScopes)
Valida se o usuário concedeu consentimento para os escopos solicitados. Use esse método se um fluxo de execução depender de um ou mais serviços. Se algum dos consentimentos especificados estiver ausente, esse método encerrará a execução atual e renderizará uma solicitação de autorização para solicitar os consentimentos ausentes. Os escopos que são inválidos ou não exigem o script para gerar um erro.
Esse método só funciona quando os usuários executam o script em uma plataforma que oferece suporte ao consentimento granular, por exemplo, no ambiente de desenvolvimento integrado do Apps Script. Quando o script é executado com consentimentos ausentes de uma plataforma sem suporte, como um complemento do Google Workspace, ele renderiza uma solicitação de autorização no início da execução para solicitar todos os escopos.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
auth | Auth | O modo de autorização para o qual os escopos solicitados precisam ser avaliados. Em
quase todos os casos, o valor de auth precisa ser Script ,
já que nenhum outro modo de autorização exige que os usuários concedam autorização. |
oAuthScopes | String[] | Os escopos do OAuth necessários para concluir o fluxo de execução. |