Изучение различных методов получения имени пользователя в скрипте приложений

В Apps Script получение имени пользователя может быть полезно для различных целей, например для персонализации взаимодействия с пользователем или регистрации действий, связанных с пользователем. В этой статье мы рассмотрим несколько методов получения имени пользователя в Apps Script, сопровождаемые примерами кода. Давайте погрузимся!

Метод 1: использование Session.getActiveUser().getEmail()
Метод Session.getActiveUser().getEmail() возвращает адрес электронной почты активного пользователя, выполняющего скрипт. Поскольку большинство адресов электронной почты содержат компонент имени пользователя, мы можем извлечь его с помощью метода Split().

Пример кода:

function getUsernameMethod1() {
  var email = Session.getActiveUser().getEmail();
  var username = email.split("@")[0];
  return username;
}
// Usage
var username = getUsernameMethod1();
Logger.log(username);

Метод 2: использование службы UserProperties
Служба UserProperties позволяет хранить и извлекать свойства пользователя. По умолчанию он включает встроенное свойство userKey, которое представляет адрес электронной почты пользователя. Мы можем извлечь имя пользователя, используя тот же метод Split().

Пример кода:

function getUsernameMethod2() {
  var userKey = PropertiesService.getUserProperties().getProperty("userKey");
  var username = userKey.split("@")[0];
  return username;
}
// Usage
var username = getUsernameMethod2();
Logger.log(username);

Метод 3. Извлечение имени пользователя из адреса электронной почты активного пользователя.
Если у вас есть доступ к адресу электронной почты пользователя, вы можете напрямую извлечь из него имя пользователя, используя регулярные выражения.

Пример кода:

function getUsernameMethod3(email) {
  var username = email.match(/^([^@]*)@/)[1];
  return username;
}
// Usage
var email = "exampleuser@gmail.com";
var username = getUsernameMethod3(email);
Logger.log(username);

Метод 4. Использование API Gmail
Используя API Gmail, вы можете получить различные сведения о пользователе, включая информацию его профиля, содержащую имя пользователя.

Пример кода (требуется включение Gmail API):

function getUsernameMethod4() {
  var userId = "me";
  var profile = Gmail.Users.getProfile(userId);
  var username = profile.emailAddress.split("@")[0];
  return username;
}
// Usage
var username = getUsernameMethod4();
Logger.log(username);

В этой статье мы рассмотрели различные методы получения имени пользователя в Apps Script. Эти методы включают использование метода Session.getActiveUser().getEmail(), службы UserProperties, извлечение данных из адреса электронной почты и использование API Gmail. В зависимости от ваших конкретных требований и доступа к пользовательской информации вы можете выбрать наиболее подходящий метод для вашего проекта Apps Script.