La clase Session 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é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 cadena (por ejemplo, en para inglés). |
getEffectiveUser() | User | Obtiene información acerca del 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 exclusiva del usuario activo, pero que 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
identidad, User.getEmail()
muestra una cadena en blanco. Las circunstancias en las que
de correo electrónico disponible varían; por ejemplo, la dirección de correo electrónico del usuario no está disponible en ninguna
contexto que permite 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
implementado para “ejecutar como yo” (es decir, está autorizada por el desarrollador y no por el usuario).
Sin embargo, por lo general, estas restricciones no se aplican si el desarrollador ejecuta la secuencia de comandos por su cuenta.
o pertenezcan 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
: 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());
Volver
String
: Es una cadena que representa la configuración de idioma del usuario.
getEffectiveUser()
Obtiene información acerca del usuario bajo cuya autoridad se ejecuta la secuencia de comandos. Si el script es una
app web configurada en “execute as me” (el desarrollador), esta acción devuelve la cuenta de usuario del desarrollador. Si
la secuencia de comandos se ejecuta en un entorno instalable
activador, muestra la cuenta del usuario que creó el activador. En la mayoría de las
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
: 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. Las secuencias de comandos nuevas usan de forma predeterminada la zona horaria del propietario, pero el puedes cambiar la zona horaria de la secuencia de comandos haciendo clic en Archivo > Propiedades del proyecto en la secuencia de comandos Editor. Ten en cuenta que las hojas de cálculo tienen una zona horaria distinta, que se puede cambiar haciendo clic Archivo > Configuración de las hojas de cálculo en Hojas de cálculo de Google. Zonas horarias de la hoja de cálculo que son diferentes de la zona horaria de las secuencias de comandos son una fuente frecuente de errores de estas.
// 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 exclusiva del usuario activo, pero que no revela la identidad del usuario. La clave temporal rota cada 30 días y es única para la secuencia de comandos.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
Volver
String
: Es la clave de usuario activa temporal.