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étodo | Tipo de retorno | Breve descrição |
---|---|---|
getActiveUser() | User | Recebe informações sobre o usuário atual. |
getActiveUserLocale() | String | Recebe a configuração de idioma do usuário atual como uma string, por exemplo, en para inglês. |
getEffectiveUser() | User | Recebe informações sobre o usuário com a autoridade que o script está executando. |
getScriptTimeZone() | String | Recebe o fuso horário do script. |
getTemporaryActiveUserKey() | String | Recebe uma chave temporária exclusiva para o usuário ativo, mas que 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 desse usuário, como um acionador simples onOpen(e)
ou onEdit(e)
, uma função personalizada no Planilhas Google ou um app da Web implantado em "quot;execute 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. var 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 com a autoridade que o script está executando. Se o script for um aplicativo da Web definido como "executar como eu&(o desenvolvedor), isso retornará a conta de usuário do desenvolvedor. Se o script estiver em execução em um acionador instalável, a conta do usuário que criou o acionador será retornada. Na maioria dos outros
cenários, ela 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);
Retornar
User
: o usuário com a autoridade que o script está executando
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. Novos scripts são o padrão no 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 script. As planilhas têm um fuso horário separado, que pode ser alterado clicando em Configurações de arquivo e planilha no 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. var 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 do usuário. A chave temporária é alterada 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 de usuário ativa temporária