Триггер проекта не работает
Я использую формы Cognito для сбора информации, а затем использую Zapier для передачи этой информации в мою базу данных электронных таблиц Google. Я обнаружил, что мои сценарии в электронных таблицах Google не запускают так, как я ожидал.
Вот этот:
function onEdit(event){
var ColCR = 96; // Column Number of "CR"
var changedRange = event.source.getActiveRange();
if (changedRange.getColumn() == ColCR) {
var state = changedRange.getValue();
var adjacent = event.source.getActiveSheet().getRange(changedRange.getRow(),ColCR+1);
var adjacentv = adjacent.getValue();
var timestamp = Utilities.formatDate(new Date(), "GMT-7", "M/dd/yy', 'h:mm a");
switch (adjacentv) {
case "":
adjacent.setValue("("+timestamp+")"+" "+state);
changedRange.clearContent();
break;
default:
adjacent.setValue(adjacentv+"\n"+"("+timestamp+")"+" "+state);
changedRange.clearContent();
break;
}
}
}
Работает нормально, когда пользователь редактирует ячейку электронной таблицы напрямую, но не когда Zapier обновляет ячейку. Он также работает с несколькими различными типами триггеров, когда электронная таблица изменяется пользователем. В чем разница между редактированием электронной таблицы напрямую и использованием приложения, такого как Zapier, для редактирования формы? Могу ли я написать скрипт, который будет видеть редактирование приложения, такого как Zapier?
Вот этот:
function Timestamp() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var cell = sheet.getActiveCell();
var comments = cell.getComment();
var formattedDate = Utilities.formatDate(new Date(), "GMT-7", "M/dd/yy', 'h:mm a ");
Newline works in msgBox, but not in Note.
comments = comments + "Mod: " + formattedDate;
Browser.msgBox(comments);
cell.setComment(comments);
}
Работает нормально, когда пользователь редактирует ячейку и запускается триггером On Change, а также работает, когда Zapier обновляет ячейку, но когда Zapier обновляет более одной ячейки в строке, он помещает комментарий только в первую ячейку диапазона. Как мне изменить скрипт так, чтобы он срабатывал при каждом изменении каждой ячейки, а не только диапазона?
Я уверен, что это как-то связано с тем, как Zapier взаимодействует с моей электронной таблицей, но я не понимаю, чем правки Zapier отличаются от правок пользователя?
Спасибо за любые предложения или рекомендации.
1 ответ
Я тоже столкнулся с этой проблемой и в итоге пришел к выводу, что действие Zapier использует API для обновления Google Sheet, таким образом, не вызывая триггер. Подробности доступны здесь в документации Google о простых триггерах: