Получить несколько активных пользователей в сеансе / рабочая тетрадь Google sheets

#google-apps-script #google-sheets

#google-apps-script #google-sheets

Вопрос:

Мне удалось получить активного пользователя в рабочей книге session / Google с помощью Session.getActiveUser().getEmail(). Однако есть ли способ получить несколько активных пользователей с помощью электронной таблицы? Например. «Пользователь A» работает над листом 1, а «Пользователь B» — над листом 2. Я хотел бы получить адреса электронной почты пользователя A и пользователя B.

Ответ №1:

Вы можете создать лист журнала, который заполняется каждый раз, когда пользователь выполняет редактирование

Пример:

 function bindMeOnInstallableOnEditTrigger(e){
  var logsheet = SpreadsheetApp.openById("XXX").getSheetByName("YYY");
  var user = e.user;
  var activeSheetName = e.range.getSheet().getName();
  logsheet.appendRow([new Date(), user, "edited sheet", activeSheetName]);
}
  

Привяжите эту функцию к устанавливаемому триггеру, как описано в документации.

Комментарии:

1. Спасибо за ответ. Я попробовал ваш метод. например, пользователь выдает мне пустую строку.

2. Принадлежит ли пользователь вашему домену? Смотрите ограничения : ` Если политики безопасности не разрешают доступ к идентификатору пользователя, User.getEmail() возвращает пустую строку.`.