La clase Session brinda 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étodo | Tipo de datos que se muestra | Descripción breve |
---|---|---|
getActiveUser() | User | Obtiene información sobre el usuario actual. |
getActiveUserLocale() | String | Obtiene la configuración de idioma del usuario actual como una string, por ejemplo, en para inglés. |
getEffectiveUser() | User | Obtiene información sobre el usuario bajo cuya autoridad se ejecuta la secuencia de comandos. |
getScriptTimeZone() | String | Obtiene la zona horaria de la secuencia de comandos. |
getTemporaryActiveUserKey() | String | Obtiene una clave temporal que es única para el usuario activo, pero no revela la identidad del usuario. |
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 está disponible la dirección de correo electrónico varían: por ejemplo, la dirección de correo electrónico del usuario no está disponible en ningún contexto que permita que una secuencia de comandos se ejecute sin la autorización de ese usuario, como un activador simple onOpen(e)
o onEdit(e)
, una función personalizada en Hojas de cálculo de Google o una aplicación web implementada para que se ejecute como yo (es decir, autorizada por el desarrollador en lugar de por el usuario).
Sin embargo, estas restricciones no se aplican en general si el desarrollador ejecuta la secuencia de comandos o 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);
Volver
User
: 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 string, por ejemplo, en
para inglés.
// Log the language setting of the person running the script. Logger.log(Session.getActiveUserLocale());
Volver
String
: string 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 aplicación web configurada en "ejecutar como yo" (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 los casos, 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);
Volver
User
: 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. Las nuevas secuencias de comandos se establecen de forma predeterminada en la zona horaria del propietario, pero esta se puede cambiar haciendo clic en File > Project properties en el editor de secuencias de comandos. Ten en cuenta que las hojas de cálculo tienen una zona horaria independiente, la cual se puede cambiar haciendo clic en Archivo > Configuración de la hoja de cálculo en Hojas de cálculo de Google. Las zonas horarias de las hojas de cálculo que difieren de la zona horaria de la secuencia de comandos son una fuente frecuente de errores de secuencia de comandos.
// Log the time zone of the script. var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Volver
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 la identidad del usuario. 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());
Volver
String
: La clave de usuario activa temporal