Class Session
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 obsoletos
Método | Tipo de retorno | Breve descrição |
getTimeZone()
| String | Recebe o fuso horário do script. |
getUser()
| User | Recebe informações sobre o usuário atual. |
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
getTimeZone()
Obsoleto. Essa função foi descontinuada e não deve ser usada em novos scripts.
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.getTimeZone();
Logger.log(timeZone);
Retornar
String
: o fuso horário do script
getUser()
Obsoleto. Essa função foi descontinuada e não deve ser usada em novos scripts.
Recebe informações sobre o usuário atual.
Retornar
User
: o usuário conectado no momento
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
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-26 UTC.
[null,null,["Última atualização 2025-07-26 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eSession\u003c/code\u003e class in Apps Script allows you to access information about the current user and the script's environment, such as the user's locale and the script's time zone.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve information about the active user, effective user, script time zone, and a temporary active user key using methods like \u003ccode\u003egetActiveUser()\u003c/code\u003e, \u003ccode\u003egetEffectiveUser()\u003c/code\u003e, \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e, and \u003ccode\u003egetTemporaryActiveUserKey()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSome methods like \u003ccode\u003egetTimeZone()\u003c/code\u003e and \u003ccode\u003egetUser()\u003c/code\u003e are deprecated and should be replaced with their updated counterparts such as \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e and \u003ccode\u003egetActiveUser()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eWhile the user's email address can be accessed in certain circumstances using \u003ccode\u003egetActiveUser().getEmail()\u003c/code\u003e or \u003ccode\u003egetEffectiveUser().getEmail()\u003c/code\u003e, it may not be available if security policies restrict access or in contexts without explicit user authorization.\u003c/p\u003e\n"],["\u003cp\u003eAccessing user information may require specific authorization scopes, like \u003ccode\u003ehttps://www.googleapis.com/auth/userinfo.email\u003c/code\u003e, to be granted to the script.\u003c/p\u003e\n"]]],[],null,["# Class Session\n\nSession\n\nThe Session class provides access to session information, such as the user's email address (in\nsome circumstances) and language setting. \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------------------|------------------------------------------|-----------------------------------------------------------------------------------------------|\n| [getActiveUser()](#getActiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n| [getActiveUserLocale()](#getActiveUserLocale()) | `String` | Gets the language setting of the current user as a string---for example, `en` for English. |\n| [getEffectiveUser()](#getEffectiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the user under whose authority the script is running. |\n| [getScriptTimeZone()](#getScriptTimeZone()) | `String` | Gets the time zone of the script. |\n| [getTemporaryActiveUserKey()](#getTemporaryActiveUserKey()) | `String` | Gets a temporary key that is unique to the active user but does not reveal the user identity. |\n\n### Deprecated methods\n\n| Method | Return type | Brief description |\n|---------------------------------|------------------------------------------|------------------------------------------|\n| [getTimeZone()](#getTimeZone()) | `String` | Gets the time zone of the script. |\n| [getUser()](#getUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n\nDetailed documentation\n----------------------\n\n### `get``Active``User()`\n\nGets information about the current user. If security policies do not allow access to the user's\nidentity, [User.getEmail()](/apps-script/reference/base/user#getEmail()) returns a blank string. The circumstances in which the\nemail address is available vary: for example, the user's email address is not available in any\ncontext that allows a script to run without that user's authorization, like a simple `on``Open(e)` or `on``Edit(e)` trigger, a custom function in Google Sheets, or a web app\ndeployed to \"execute as me\" (that is, authorized by the developer instead of the user).\nHowever, these restrictions generally do not apply if the developer runs the script themselves\nor belongs to the same Google Workspace domain as the user.\n\n```javascript\n// Log the email address of the person running the script.\nconst email = Session.getActiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the current user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Active``User``Locale()`\n\nGets the language setting of the current user as a string---for example, `en` for English.\n\n```javascript\n// Log the language setting of the person running the script.\nLogger.log(Session.getActiveUserLocale());\n```\n\n#### Return\n\n\n`String` --- a string that represents the user's language setting\n\n*** ** * ** ***\n\n### `get``Effective``User()`\n\nGets information about the user under whose authority the script is running. If the script is a\nweb app set to \"execute as me\" (the developer), this returns the developer's user account. If\nthe script is running under an [installable\ntrigger](/apps-script/understanding_triggers), this returns the account of the user who created the trigger. In most other\nscenarios, this returns the same account as [getActiveUser()](#getActiveUser()).\n\n```javascript\n// Log the email address of the user under whose authority the script is\n// running.\nconst email = Session.getEffectiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the user under whose authority the script is running\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Script``Time``Zone()`\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getScriptTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``Temporary``Active``User``Key()`\n\nGets a temporary key that is unique to the active user but does not reveal the user identity.\nThe temporary key rotates every 30 days and is unique to the script.\n\n```javascript\n// Log the temporary key of the person running the script.\nLogger.log(Session.getTemporaryActiveUserKey());\n```\n\n#### Return\n\n\n`String` --- the temporary active user key\n\nDeprecated methods\n------------------\n\n### `get``Time``Zone()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``User()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets information about the current user.\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the currently signed in user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`"]]