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