La classe Session permet d'accéder à des informations sur la session, telles que l'adresse e-mail de l'utilisateur (dans dans certaines circonstances) et le paramètre linguistique.
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
getActiveUser() | User | Récupère des informations sur l'utilisateur actuel. |
getActiveUserLocale() | String | Récupère le paramètre de langue de l'utilisateur actuel sous forme de chaîne (par exemple, en pour l'anglais). |
getEffectiveUser() | User | Récupère des informations sur l'utilisateur sous l'autorité duquel le script est exécuté. |
getScriptTimeZone() | String | Récupère le fuseau horaire du script. |
getTemporaryActiveUserKey() | String | Ré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
identité, User.getEmail()
renvoie une chaîne vide. Les circonstances dans lesquelles
disponibles varient: par exemple, l'adresse e-mail de l'utilisateur n'est disponible dans aucune des
Contexte qui permet à un script de s'exécuter sans l'autorisation de l'utilisateur, comme un simple déclencheur onOpen(e)
ou onEdit(e)
, une fonction personnalisée dans Google Sheets ou une application Web
déployé pour "exécuter comme moi" (c'est-à-dire, autorisées par le développeur et non 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. var email = Session.getActiveUser().getEmail(); Logger.log(email);
Renvois
User
: utilisateur actuel
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Récupère le paramètre de langue 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 le paramètre de langue de l'utilisateur.
getEffectiveUser()
Récupère des informations sur l'utilisateur sous l'autorité duquel le script est exécuté. Si le script est un
application Web définie sur "Exécuter comme moi" (le développeur), cela renvoie le compte utilisateur du développeur. Si
le script s'exécute dans un répertoire
déclencheur, cela affiche le compte de l'utilisateur qui a créé le déclencheur. Dans la plupart des autres
cela renvoie le même compte que getActiveUser()
.
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Renvois
User
: utilisateur sous l'autorité duquel le script est exécuté
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Récupère le fuseau horaire du script. Les nouveaux scripts utilisent par défaut le fuseau horaire du propriétaire, mais fuseau horaire du script en cliquant sur Fichier > Propriétés du projet dans le script éditeur. Notez que les feuilles de calcul ont un fuseau horaire distinct. Vous pouvez le modifier en cliquant sur Fichier > Paramètres de la feuille de calcul dans Google Sheets. Fuseaux horaires des feuilles de calcul différents le fuseau horaire du script sont une source fréquente de bugs au niveau des scripts.
// Log the time zone of the script. var 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é. Cette clé temporaire est alterné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é utilisateur active temporaire