Class Session

Sessão

A classe Session oferece acesso às informações da sessão, como o endereço de e-mail do usuário (em algumas circunstâncias) e a configuração de idioma.

Métodos

MétodoTipo de retornoBreve descrição
getActiveUser()UserRecebe informações sobre o usuário atual.
getActiveUserLocale()StringExtrai a configuração de idioma do usuário atual como uma string, por exemplo, en para inglês.
getEffectiveUser()UserRecebe informações sobre o usuário com autoridade para executar o script.
getScriptTimeZone()StringRecebe o fuso horário do script.
getTemporaryActiveUserKey()StringRecebe uma chave temporária exclusiva para o usuário ativo, mas que não revela a identidade dele.

Documentação detalhada

getActiveUser()

Recebe informações sobre o usuário atual. Se as políticas de segurança não permitirem o acesso à identidade do usuário, o User.getEmail() vai retornar uma string em branco. As circunstâncias em que o endereço de e-mail está disponível variam: por exemplo, o endereço de e-mail do usuário não está disponível em nenhum contexto que permita a execução de um script sem a autorização do usuário, como um acionador onOpen(e) ou onEdit(e) simples, uma função personalizada no Planilhas Google ou um app da Web implantado para "executar como eu", ou seja, autorizado pelo desenvolvedor em vez do usuário. No entanto, essas restrições geralmente não se aplicam se o desenvolvedor executa o script ou pertence ao mesmo domínio do Google Workspace que o usuário.

// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);

Retornar

User: o usuário atual

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/userinfo.email

getActiveUserLocale()

Extrai a configuração de idioma do usuário atual como uma string, por exemplo, en para inglês.

// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());

Retornar

String: uma string que representa a configuração de idioma do usuário.


getEffectiveUser()

Recebe informações sobre o usuário com autoridade para executar o script. Se o script for um app da Web definido como "execute as me" (o desenvolvedor), ele vai retornar a conta de usuário do desenvolvedor. Se o script estiver sendo executado em um gatilho instalável, ele vai retornar a conta do usuário que criou o gatilho. Na maioria dos outros casos, isso retorna a mesma conta que getActiveUser().

// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

Retornar

User: o usuário com autoridade para executar o script

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/userinfo.email

getScriptTimeZone()

Recebe o fuso horário do script. Os novos scripts usam o fuso horário do proprietário por padrão, mas é possível mudar o fuso horário do script clicando em File > Project properties no editor de script. As planilhas têm um fuso horário separado, que pode ser alterado clicando em Arquivo > Configurações da planilha no app Planilhas Google. Os fusos horários da planilha que são diferentes do fuso horário do script são uma fonte frequente de bugs de script.

// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);

Retornar

String: o fuso horário do script


getTemporaryActiveUserKey()

Recebe uma chave temporária exclusiva para o usuário ativo, mas que não revela a identidade dele. A chave temporária é alternada a cada 30 dias e é exclusiva do script.

// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());

Retornar

String: a chave temporária do usuário ativo

Métodos obsoletos