Класс Session предоставляет доступ к информации о сеансе, такой как адрес электронной почты пользователя (в некоторых случаях) и языковые настройки.
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
get Active User() | User | Получает информацию о текущем пользователе. |
get Active User Locale() | String | Получает настройку языка текущего пользователя в виде строки, например en для английского языка. |
get Effective User() | User | Получает информацию о пользователе, под чьими полномочиями выполняется скрипт. |
get Script Time Zone() | String | Получает часовой пояс скрипта. |
get Temporary Active User Key() | String | Получает временный ключ, уникальный для активного пользователя, но не раскрывающий личность пользователя. |
Подробная документация
get Active User()
Получает информацию о текущем пользователе. Если политики безопасности не разрешают доступ к личности пользователя, User.getEmail()
возвращает пустую строку. Обстоятельства, при которых адрес электронной почты доступен, различаются: например, адрес электронной почты пользователя недоступен ни в каком контексте, который позволяет запускать сценарий без авторизации этого пользователя, например, простой триггер on Open(e)
или on Edit(e)
, пользовательская функция в Google Таблицах или веб-приложение, развернутое для выполнения от имени меня (то есть авторизованное разработчиком, а не пользователем). Однако эти ограничения обычно не применяются, если разработчик сам запускает скрипт или принадлежит к тому же домену Google Workspace, что и пользователь.
// Log the email address of the person running the script. const email = Session.getActiveUser().getEmail(); Logger.log(email);
Возвращаться
User
— текущий пользователь
Авторизация
Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :
-
https://www.googleapis.com/auth/userinfo.email
get Active User Locale()
Получает настройку языка текущего пользователя в виде строки, например en
для английского языка.
// Log the language setting of the person running the script. Logger.log(Session.getActiveUserLocale());
Возвращаться
String
— строка, представляющая настройку языка пользователя.
get Effective User()
Получает информацию о пользователе, под чьими полномочиями выполняется скрипт. Если сценарий представляет собой веб-приложение, настроенное на «выполнение от имени меня» (разработчика), возвращается учетная запись пользователя разработчика. Если сценарий выполняется под устанавливаемым триггером , возвращается учетная запись пользователя, создавшего триггер. В большинстве других сценариев возвращается та же учетная запись, что и get Active User()
.
// Log the email address of the user under whose authority the script is // running. const email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Возвращаться
User
— пользователь, под чьими полномочиями выполняется скрипт
Авторизация
Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :
-
https://www.googleapis.com/auth/userinfo.email
get Script Time Zone()
Получает часовой пояс скрипта. По умолчанию в новых сценариях используется часовой пояс владельца, но часовой пояс сценария можно изменить, щелкнув «Файл» > «Свойства проекта» в редакторе сценариев. Обратите внимание, что электронные таблицы имеют отдельный часовой пояс, который можно изменить, нажав «Файл» > «Настройки электронной таблицы» в Google Sheets. Часовые пояса электронной таблицы, отличающиеся от часового пояса сценария, являются частым источником ошибок сценариев.
// Log the time zone of the script. const timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Возвращаться
String
— часовой пояс скрипта
get Temporary Active User Key()
Получает временный ключ, уникальный для активного пользователя, но не раскрывающий личность пользователя. Временный ключ меняется каждые 30 дней и уникален для сценария.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
Возвращаться
String
— временный активный ключ пользователя.