Class Session

Сессия

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

Подробная документация

getActiveUser()

Получает информацию о текущем пользователе. Если политики безопасности не разрешают доступ к идентификационным данным пользователя, User.getEmail() возвращает пустую строку. Обстоятельства, при которых адрес электронной почты доступен, могут быть различными: например, адрес электронной почты пользователя недоступен в контексте, позволяющем запускать скрипт без разрешения этого пользователя, например, в простом триггере onOpen(e) или onEdit(e) , пользовательской функции в Google Sheets или веб-приложении, развернутом для выполнения от моего имени (то есть, авторизованном разработчиком, а не пользователем). Однако эти ограничения, как правило, не применяются, если разработчик запускает скрипт самостоятельно или принадлежит к тому же домену 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

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.
const 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.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);

Возвращаться

String — часовой пояс скрипта


getTemporaryActiveUserKey()

Получает временный ключ, уникальный для активного пользователя, но не раскрывающий личность пользователя. Временный ключ обновляется каждые 30 дней и является уникальным для данного скрипта.

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

Возвращаться

String — временный ключ активного пользователя

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