Class Session

Sesión

La clase de sesión proporciona acceso a la información de la sesión, como la dirección de correo electrónico del usuario (en algunas circunstancias) y la configuración de idioma.

Métodos

MétodoTipo de datos que se muestraDescripción breve
getActiveUser()UserObtiene información sobre el usuario actual.
getActiveUserLocale()StringObtiene la configuración de idioma del usuario actual como una cadena; por ejemplo, en para inglés.
getEffectiveUser()UserObtiene información sobre el usuario bajo cuya autoridad se ejecuta la secuencia de comandos.
getScriptTimeZone()StringObtiene la zona horaria de la secuencia de comandos.
getTemporaryActiveUserKey()StringObtiene una clave temporal que es única para el usuario activo, pero no revela su identidad.

Documentación detallada

getActiveUser()

Obtiene información sobre el usuario actual. Si las políticas de seguridad no permiten el acceso a la identidad del usuario, User.getEmail() muestra una string en blanco. Las circunstancias en las que la dirección de correo electrónico está disponible varían: por ejemplo, la dirección de correo electrónico del usuario no está disponible en ningún contexto que permita que se ejecute una secuencia de comandos sin su autorización, como un activador onOpen(e) o onEdit(e) simple, una función personalizada en Hojas de cálculo de Google o una app web implementada para "ejecutar como yo" (es decir, autorizada por el desarrollador en lugar de por el usuario). Sin embargo, estas restricciones, por lo general, no se aplican si el desarrollador ejecuta la secuencia de comandos por su cuenta o si pertenece al mismo dominio de Google Workspace que el usuario.

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

Devolvedor

User: Es el usuario actual.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getActiveUserLocale()

Obtiene la configuración de idioma del usuario actual como una cadena; por ejemplo, en para inglés.

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

Devolvedor

String: Es una cadena que representa la configuración de idioma del usuario.


getEffectiveUser()

Obtiene información sobre el usuario bajo cuya autoridad se ejecuta la secuencia de comandos. Si la secuencia de comandos es una app web configurada para "execute as me" (el desarrollador), se muestra la cuenta de usuario del desarrollador. Si la secuencia de comandos se ejecuta en un activador instalable, se muestra la cuenta del usuario que creó el activador. En la mayoría de las otras situaciones, se muestra la misma cuenta que getActiveUser().

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

Devolvedor

User: Es el usuario bajo cuya autoridad se ejecuta la secuencia de comandos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getScriptTimeZone()

Obtiene la zona horaria de la secuencia de comandos. De forma predeterminada, las secuencias de comandos nuevas se establecen en la zona horaria del propietario, pero la zona horaria de la secuencia de comandos se puede cambiar. Para ello, haz clic en Archivo > Propiedades del proyecto en el editor de secuencias de comandos. Ten en cuenta que las hojas de cálculo tienen una zona horaria diferente, que se puede cambiar si haces clic en Archivo > Configuración de la hoja de cálculo en Hojas de cálculo de Google. Las zonas horarias de la hoja de cálculo que difieren de la zona horaria de la secuencia de comandos son una fuente frecuente de errores de secuencias de comandos.

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

Devolvedor

String: Es la zona horaria de la secuencia de comandos.


getTemporaryActiveUserKey()

Obtiene una clave temporal que es única para el usuario activo, pero no revela su identidad. La clave temporal rota cada 30 días y es exclusiva de la secuencia de comandos.

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

Devolvedor

String: Es la clave de usuario activa temporal.

Métodos obsoletos