Задать вопрос

Как в Google Apps Script отличить запуск ф-ии по триггеру своего и чужого аккаунта?

Google Spreadsheet редактирует несколько пользователей. По событию редактирования при определённых условиях надо отправлять письмо MailApp.sendEmail() от имени того аккаунта, который сделал правку.

Для этого, как я понял, требуется, во-первых, чтобы триггер был не простой, а installable trigger – при этом дается разрешение на отправку писем от своего аккаунта.

Во-вторых, надо будет установить такой триггер каждому аккаунту, от имени которого возможна отправка письма. Т.к. такой триггер выполняется от имени установившего его аккаунта, и соотв. письмо уходит от имени этого аккаунта.

Теперь, при нескольких юзерах триггер будет выполняться по каждой правке несколько раз: от имени каждого из установивших триггер.

Вопрос: как в вызываемой функции определить, что юзер, чей триггер вызвал её, и юзер, что внёс правку – совпадают?

Была мысль сохранять UniqueId триггера, инсталлированного самому себе - в Properties. Только пока не нашёл, как при вызове функции определять – каким именно триггером она вызвана, чтобы отловить именно «свой». Пробовал с тремя аккаунтами – ActiveUser показывает email'ы каждого из установивших триггер. Остаётся отловить «себя».
  • Вопрос задан
  • 942 просмотра
Подписаться 1 Средний Комментировать
Решение пользователя Александр Самохин К ответам на вопрос (2)
Id сработавшего триггера можно получить через e.triggerUid.
Ответ написан