Google Sheets — новый триггер «Следить за обновлениями на листе»

Добавили новый триггер — «Следить за обновлениями на листе» у сервиса Google Sheets. Данный триггер позволяет следить за всеми обновлениями в ячейках твоего листа в гугл-таблицах. Триггер работает на вебхуках и будет сразу отправлять событие при обновлении в ячейке или добавлении новой строки.
Чтобы использовать триггер «Следить за обновлениями на листе», нужно сделать дополнительные настройки в твоей электронной таблице, перед этим у тебя должно быть настроено подключение Google Sheets в Albato.
Как подключить Google Sheets к Albato.
Настройки для использования триггера «Следить за обновлениями на листе»
- Открой таблицу с которой хочешь настроить интеграцию.
- Перейди в раздел «Расширения» → «Apps Script».
- Очисть данные в редакторе и вставь код, представленный ниже.
function generateData(e) {
let ss = SpreadsheetApp.getActive();
var spreadsheetName = ss.getName();// Имя таблицы
var sheetName = ss.getSheetName();// Имя листа
var spreadsheetId = ss.getId();// id листа
var row = ss.getCurrentCell().getRow();// Номер строки
var column = ss.getCurrentCell().getColumn();// Номер столбца
var values = ss.getActiveRange().getValues();// Массив новых данных
var user = e.user;// Пользователь, который вносил изменения
var date = new Date();// Дата
sendWebhook(spreadsheetName, sheetName, row, column, values, user, date, spreadsheetId);
}
function sendWebhook(spreadsheetName, sheetName, row, column, values, user, date, spreadsheetId) {
var endpoint = "https://webhook.site/ded7da72-670e-4a86-86aa-f13c9343455d";
var jsonarray = JSON.stringify;
var payload = {
"spreadsheetName" : spreadsheetName,
"sheetName" : sheetName,
"row" : row,
"column" : column,
"values" : JSON.stringify(values),
"user" : user,
"date" : date,
"spreadsheetId": spreadsheetId
};
var options = {
"method" : "post",
"payload" : payload
};
UrlFetchApp.fetch(endpoint, options)
}
function createSpreadsheetOpenTrigger() {
const ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger("generateData").forSpreadsheet(ss).onChange().create();
}
- Скопируй вебхук из твоего подключения Google Sheets.
- Добавь вебхук в переменную
endpoint
(14 строка)
Далее нажми «Сохранить», выбери функцию «createSpreadsheetOpenTrigger» и нажми «Выполнить».
Нажми «Проверить разрешения».
Выбери аккаунт.
Если ты получишь предупреждение, открой вкладку «Дополнительные настройки».
Далее нажми «Перейти на страницу “Проект без названия”».
И предоставь доступ твоему приложению, для этого нажми «Разрешить».
Перейди в раздел «Триггеры» и убедись, что у тебя сохранен один триггер. Если в процессе настройки ты допустил ошибки, могут быть сохранены несколько триггеров, их нужно удалить.
На этом настройка подключения завершена.