Acessar e manipular a publicação de scripts e gatilhos. Esta classe permite que os usuários criem scripts aciona e controla a publicação do script como serviço.
Propriedades
Propriedade | Tipo | Descrição |
---|---|---|
AuthMode | AuthMode | Uma enumeração que identifica as categorias de serviços autorizados que o Apps Script pode com uma função acionada. |
AuthorizationStatus | AuthorizationStatus | Uma enumeração que indica o status de autorização de um script. |
EventType | EventType | Uma enumeração que indica o tipo de evento acionado. |
InstallationSource | InstallationSource | Uma enumeração que indica como o script foi instalado para o usuário como um complemento. |
TriggerSource | TriggerSource | Uma enumeração que indica a origem do evento que faz com que o acionador seja disparado. |
WeekDay | Weekday | Uma enumeração que representa os dias da semana. |
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
deleteTrigger(trigger) | void | Remove o acionador fornecido para que ele não seja mais executado. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Extrai um objeto usado para determinar se o usuário precisa autorizar este script a usar um ou serviços e fornecer o URL para uma caixa de diálogo de autorização. |
getIdentityToken() | String | Recebe um token de identidade do OpenID Connect para o
usuário efetivo, se o escopo openid tiver sido concedido. |
getInstallationSource() | InstallationSource | Retorna um valor de enumeração que indica como o script foi instalado como um complemento do do usuário atual (por exemplo, se ele instalou o aplicativo pessoalmente na Chrome Web Store, por exemplo) Store ou se um administrador de domínio o instalou para todos os usuários). |
getOAuthToken() | String | Recebe o acesso ao OAuth 2.0 token para o usuário em vigor. |
getProjectTriggers() | Trigger[] | Recebe todos os gatilhos instaláveis associados ao projeto atual e ao usuário atual. |
getScriptId() | String | Recebe o ID exclusivo do projeto de script. |
getService() | Service | Recebe um objeto usado para controlar a publicação do script como um app da Web. |
getUserTriggers(document) | Trigger[] | Recebe todos os acionadores instaláveis que pertencem a este usuário no documento especificado para este script ou como complemento. |
getUserTriggers(form) | Trigger[] | Recebe todos os acionadores instaláveis pertencentes a este usuário no formulário especificado para este script ou complemento . |
getUserTriggers(spreadsheet) | Trigger[] | Recebe todos os acionadores instaláveis que pertencem a este usuário na planilha especificada para este script ou como complemento. |
invalidateAuth() | void | Invalida a autorização que o usuário efetivo tem para executar o script atual. |
newStateToken() | StateTokenBuilder | Cria um builder para um token de estado que pode ser usado em uma API de callback (como um fluxo OAuth). |
newTrigger(functionName) | TriggerBuilder | Começa o processo de criação de um gatilho instalável que, quando acionado, chama uma determinada função. |
Documentação detalhada
deleteTrigger(trigger)
Remove o acionador fornecido para que ele não seja mais executado.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
trigger | Trigger | O gatilho a ser excluído. |
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
Extrai um objeto usado para determinar se o usuário precisa autorizar este script a usar um ou serviços e fornecer o URL para uma caixa de diálogo de autorização. Se o script for publicado como um complemento que usa gatilhos instaláveis, essas informações podem ser usado para controlar o acesso a seções de código para as quais o usuário não tem as informações necessárias autorização. Alternativamente, o complemento pode solicitar que o usuário abra o URL para a autorização para resolver o problema.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
authMode | AuthMode | o modo de autorização para o qual as informações de autorização são solicitadas; no
em quase todos os casos, o valor de authMode precisa ser ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , já que nenhum outro modo de autorização
exige que os usuários concedam autorização |
Retornar
AuthorizationInfo
: um objeto que pode fornecer informações sobre o status de autorização do usuário.
getIdentityToken()
Recebe um token de identidade do OpenID Connect para o
usuário efetivo, se o escopo openid
tiver sido concedido. Este escopo não está incluído
por padrão, e é necessário adicioná-lo como um escopo explícito no manifesto
para solicitá-lo. Inclua os escopos https://www.googleapis.com/auth/userinfo.email
ou https://www.googleapis.com/auth/userinfo.profile
para retornar outros
informações do usuário no token.
O token de ID retornado é um JSON Web Token (JWT) codificado. ele precisa ser decodificado para extrair informações dele. Os exemplos a seguir mostram como decodificar o token e extrair o ID do perfil do Google do usuário em vigor.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);
Retornar
String
: o token de identidade, se disponível. caso contrário, null
.
getInstallationSource()
Retorna um valor de enumeração que indica como o script foi instalado como um complemento do do usuário atual (por exemplo, se ele instalou o aplicativo pessoalmente na Chrome Web Store, por exemplo) Store ou se um administrador de domínio o instalou para todos os usuários).
Retornar
InstallationSource
: a fonte da instalação.
getOAuthToken()
Recebe o acesso ao OAuth 2.0 token para o usuário em vigor. Se os escopos OAuth do script forem suficientes para autorizar outra API do Google que normalmente requer um fluxo OAuth próprio (como o Seletor do Google), os scripts podem ignorar o ao segundo prompt de autorização passando esse token. O token expira depois de um tempo (um alguns minutos, no mínimo); scripts devem lidar com falhas de autorização e chamar esse método para para receber um novo token quando necessário.
O token retornado por esse método inclui apenas os escopos necessários no momento. Os escopos que foram autorizados anteriormente, mas não são mais usados pelo script, não estão incluídos nos o token retornado. Se forem necessários escopos OAuth adicionais além do que o próprio script exigir, eles podem ser especificados no script arquivo de manifesto do app.
Retornar
String
: uma representação em string do token OAuth 2.0.
getProjectTriggers()
Recebe todos os gatilhos instaláveis associados ao projeto atual e ao usuário atual.
Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');
Retornar
Trigger[]
: uma matriz dos gatilhos do usuário atual associados ao projeto.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
getScriptId()
Recebe o ID exclusivo do projeto de script. Esse é o método recomendado para conseguir o identificador exclusivo
para o projeto de script, em vez de
. Este ID pode ser usado em todos os lugares
em que a chave do projeto foi fornecida anteriormente.getProjectKey()
Retornar
String
: o ID do projeto de script.
getService()
Recebe um objeto usado para controlar a publicação do script como um app da Web.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Retornar
Service
: um objeto usado para observar e controlar a publicação do script como um app da Web.
getUserTriggers(document)
Recebe todos os acionadores instaláveis que pertencem a este usuário no documento especificado para este script ou como complemento. Esse método não pode ser usado para ver os acionadores anexados a outros scripts.
var doc = DocumentApp.getActiveDocument(); var 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 acionadores instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário em um determinado documento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Recebe todos os acionadores instaláveis pertencentes a este usuário no formulário especificado para este script ou complemento . Não é possível usar esse método para ver os acionadores anexados a outros scripts.
var form = FormApp.getActiveForm(); var 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 Formulários Google que pode conter acionadores instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário no formato fornecido.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
Recebe todos os acionadores instaláveis que pertencem a este usuário na planilha especificada para este script ou como complemento. Não é possível usar esse método para ver os acionadores anexados a outros scripts.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var 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 das Planilhas Google que pode conter acionadores instaláveis. |
Retornar
Trigger[]
: uma matriz de acionadores pertencentes a esse usuário na planilha especificada.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
Invalida a autorização que o usuário efetivo tem para executar o script atual. Usado para invalidará todas as permissões para o script atual. Isso é especialmente útil para funções e é marcada como autorização one-shot. Como as funções de autorização única só podem ser chamadas de ser executado pela primeira vez depois que o script tiver 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 o caixa de diálogo de autorização novamente.
ScriptApp.invalidateAuth();
Gera
Error
: quando a invalidação falha
newStateToken()
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. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Na maioria dos fluxos de OAuth2, o token state
é transmitido para o endpoint de autorização
diretamente (não como parte do URL de callback), e o endpoint de autorização a passa como
parte do URL de retorno de chamada.
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 do 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 a
http://script.google.com/...
) faz com que o navegador solicitação para/usercallback
, que invoca o método especificado porStateTokenBuilder.withMethod(method)
.
Retornar
StateTokenBuilder
: um objeto usado para continuar o processo de criação do token de estado.
newTrigger(functionName)
Começa o processo de criação de um gatilho 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 |
---|---|---|
functionName | String | A função a ser chamada quando o acionador for disparado. É possível usar funções de
bibliotecas incluídas, como Library.libFunction1 . |
Retornar
TriggerBuilder
: um objeto usado para continuar o processo de criação do acionador.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/script.scriptapp