В 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.