Class Session

Sessão

A classe Session fornece 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()StringRecebe 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 sob a autoridade de quem o script está sendo executado.
getScriptTimeZone()StringExtrai o fuso horário do script.
getTemporaryActiveUserKey()StringRecebe uma chave temporária que é exclusiva do usuário ativo, mas não revela a identidade do usuário.

Documentação detalhada

getActiveUser()

Recebe informações sobre o usuário atual. Se as políticas de segurança não permitirem acesso à identidade do usuário, User.getEmail() 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 que um script seja executado sem a autorização dele, como um simples gatilho onOpen(e) ou onEdit(e), uma função personalizada nas Planilhas Google ou um app da Web implantado para "executar como eu" (ou seja, autorizado pelo desenvolvedor e não pelo usuário). No entanto, essas restrições geralmente não se aplicam se o próprio 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.
var email = Session.getActiveUser().getEmail();
Logger.log(email);

Retorno

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()

Recebe 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());

Retorno

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


getEffectiveUser()

Recebe informações sobre o usuário sob a autoridade de quem o script está sendo executado. Se o script for um app da Web configurado para "executar como eu" (o desenvolvedor), a conta de usuário do desenvolvedor será retornada. Se o script estiver sendo executado em um acionador instalável, a conta do usuário que criou o acionador será retornada. Na maioria dos outros cenários, isso retorna a mesma conta que getActiveUser().

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

Retorno

User: o usuário sob a autoridade de quem o script está sendo executado.

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()

Extrai o fuso horário do script. Os novos scripts adotam como padrão o fuso horário do proprietário, mas é possível alterar o fuso horário do script. Basta clicar em Arquivo > Propriedades do projeto no editor de script. Observe que as planilhas têm um fuso horário separado, que pode ser alterado clicando em Arquivo > Configurações da planilha nas Planilhas Google. Os fusos horários das planilhas que diferem do fuso horário do script são uma fonte frequente de bugs de script.

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

Retorno

String: o fuso horário do script.


getTemporaryActiveUserKey()

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

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

Retorno

String: a chave de usuário ativa temporária

Métodos obsoletos