Class Session

Сессия

Класс Session предоставляет доступ к информации о сеансе, такой как адрес электронной почты пользователя (в некоторых случаях) и языковые настройки.

Методы

Метод Тип возврата Краткое описание
getActiveUser() User Получает информацию о текущем пользователе.
getActiveUserLocale() String Получает настройку языка текущего пользователя в виде строки, например en для английского.
getEffectiveUser() User Получает информацию о пользователе, с правами которого запущен скрипт.
getScriptTimeZone() String Получает часовой пояс скрипта.
getTemporaryActiveUserKey() String Получает временный ключ, уникальный для активного пользователя, но не раскрывающий личность пользователя.

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

getActiveUser()

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

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

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