Class Session

Сессия

Класс 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 — временный активный ключ пользователя.

Устаревшие методы