Сценарий Google Apps: получение метки времени / электронной почты зарегистрированного пользователя, который обновил поле в определенном столбце - PullRequest
0 голосов
/ 26 апреля 2019

Я создал Google Sheet, которым поделились несколько человек в моей организации. Он не будет передан кому-либо за пределами компании. В указанной электронной таблице, когда пользователь устанавливает флажок в столбце 1, я хотел бы указать метку времени в столбце 2 и зарегистрированную электронную почту пользователя в столбце 3.

Метка времени работает; и электронная почта работает, когда я делаю это; но это работает только для меня. Я пробовал, развертывание как веб-приложение (выполнение от имени пользователя, обращающегося к приложению), развертывание как исполняемый файл API, но все безрезультатно.

Я подозреваю, что это из-за попытки вызвать это из onEdit, так как они могут подумать, что я пытаюсь собрать что-то, что пользователь намеренно не выпускает мне. Поскольку мы все в одной компании, и это не плохо; Я думаю, что должно быть решение. Функция, которая хранит вошедшего в систему пользователя, и другая функция, которая получает это значение в onEdit?

в коде, который я вставил, он проверяет значения больше 5, так как мне было непонятно, как проверить флажок = TRUE.

Любой совет?

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var email = Session.getActiveUser().getEmail();
Logger.log(email);

 var r = s.getActiveCell();
 if( r.getColumn() == 1) { 

if(r.getValue()>5){  
var nextCell = r.offset(0, 2);
nextCell.setValue(new Date());
var emailCell = r.offset(0, 3);
emailCell.setValue(email);}}
}

Я ожидаю, что любой пользователь в моей организации установит флажок в столбце 1, а время, которое он проверил, появится в столбце 2; и их адрес электронной почты отображается в столбце 3.

1 Ответ

0 голосов
/ 26 апреля 2019

Попробуйте использовать устанавливаемый триггер onEdit .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...