Class Session

Session

La classe Session permet d'accéder aux informations de session, telles que l'adresse e-mail de l'utilisateur (dans certains cas) et le paramètre de langue.

Méthodes

MéthodeType renvoyéBrève description
getActiveUser()UserRécupère des informations sur l'utilisateur actuel.
getActiveUserLocale()StringRécupère le paramètre linguistique de l'utilisateur actuel sous forme de chaîne (par exemple, en pour l'anglais).
getEffectiveUser()UserRécupère des informations sur l'utilisateur sous l'autorité duquel le script s'exécute.
getScriptTimeZone()StringRécupère le fuseau horaire du script.
getTemporaryActiveUserKey()StringRécupère une clé temporaire propre à l'utilisateur actif, mais qui ne révèle pas son identité.

Documentation détaillée

getActiveUser()

Récupère des informations sur l'utilisateur actuel. Si les règles de sécurité n'autorisent pas l'accès à l'identité de l'utilisateur, User.getEmail() renvoie une chaîne vide. Les circonstances dans lesquelles l'adresse e-mail est disponible varient: par exemple, l'adresse e-mail de l'utilisateur n'est disponible dans aucun contexte permettant l'exécution d'un script sans l'autorisation de cet utilisateur, comme un déclencheur onOpen(e) ou onEdit(e) simple, une fonction personnalisée dans Google Sheets ou une application Web déployée pour "s'exécuter en tant que moi" (c'est-à-dire autorisée par le développeur plutôt que par l'utilisateur). Toutefois, ces restrictions ne s'appliquent généralement pas si le développeur exécute le script lui-même ou appartient au même domaine Google Workspace que l'utilisateur.

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

Renvois

User : utilisateur actuel

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:

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

getActiveUserLocale()

Récupère le paramètre linguistique de l'utilisateur actuel sous forme de chaîne (par exemple, en pour l'anglais).

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

Renvois

String : chaîne représentant les paramètres linguistiques de l'utilisateur


getEffectiveUser()

Récupère des informations sur l'utilisateur sous l'autorité duquel le script s'exécute. Si le script est une application Web définie sur "Exécuter en tant que moi" (le développeur), le compte utilisateur du développeur est renvoyé. Si le script s'exécute sous un déclencheur installable, le compte de l'utilisateur qui a créé le déclencheur est renvoyé. Dans la plupart des autres scénarios, le même compte est renvoyé que pour getActiveUser().

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

Renvois

User : utilisateur sous l'autorité duquel le script s'exécute

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants:

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

getScriptTimeZone()

Récupère le fuseau horaire du script. Le fuseau horaire par défaut des nouveaux scripts est celui du propriétaire, mais vous pouvez le modifier en cliquant sur File > Project properties (Fichier > Propriétés du projet) dans l'éditeur de script. Notez que les feuilles de calcul ont un fuseau horaire distinct, que vous pouvez modifier en cliquant sur Fichier > Paramètres de la feuille de calcul dans Google Sheets. Les fuseaux horaires de la feuille de calcul qui diffèrent du fuseau horaire du script sont une source fréquente de bugs de script.

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

Renvois

String : fuseau horaire du script


getTemporaryActiveUserKey()

Récupère une clé temporaire propre à l'utilisateur actif, mais qui ne révèle pas son identité. La clé temporaire est remplacée tous les 30 jours et est propre au script.

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

Renvois

String : clé temporaire de l'utilisateur actif

Méthodes obsolètes