Class Session

Sessão

A classe Session fornece acesso a 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 cuja autoridade o script está sendo executado.
getScriptTimeZone()StringRecebe o fuso horário do script.
getTemporaryActiveUserKey()StringRecebe uma chave temporária exclusiva do 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, 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 que um script seja executado sem a autorização desse 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 executar o script ou pertencer 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()

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

Retornar

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


getEffectiveUser()

Recebe informações sobre o usuário sob cuja autoridade o script está sendo executado. Se o script for um app da Web definido para "executar como eu" (o desenvolvedor), isso vai retornar a conta de usuário do desenvolvedor. Se o script estiver sendo executado em um acionador instalável, isso vai retornar a conta do usuário que criou o acionador. 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.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

Retornar

User: o usuário sob cuja autoridade 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()

Recebe o fuso horário do script. Os novos scripts são definidos como o fuso horário do proprietário, mas o fuso horário do script pode ser alterado clicando em Arquivo > Propriedades do projeto no editor de scripts. As planilhas têm um fuso horário separado, que pode ser alterado clicando em Arquivo > Configurações da planilha no Planilhas Google. Os fusos horários das planilhas 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 do 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