Google Sheets — новый триггер «Следить за обновлениями на листе»
Добавили новый триггер — «Следить за обновлениями на листе» у сервиса Google Sheets. Данный триггер позволяет следить за всеми обновлениями в ячейках твоего листа в гугл-таблицах. Триггер работает на вебхуках и будет сразу отправлять событие при обновлении в ячейке или добавлении новой строки.
Процесс интеграции сервисов будет происходить параллельно, поэтому вам потребуется переключаться между личными кабинетами Albato и 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» и нажми «Выполнить».
Нажми «Проверить разрешения».
Выбери аккаунт.
Если ты получишь предупреждение, открой вкладку «Дополнительные настройки».
Далее нажми «Перейти на страницу “Проект без названия”».
И предоставь доступ твоему приложению, для этого нажми «Разрешить».
Перейди в раздел «Триггеры» и убедись, что у тебя сохранен один триггер. Если в процессе настройки ты допустил ошибки, могут быть сохранены несколько триггеров, их нужно удалить.
На этом настройка подключения завершена.
Процесс интеграции сервисов будет происходить параллельно, поэтому вам потребуется переключаться между личными кабинетами Albato и 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» и нажми «Выполнить».
Нажми «Проверить разрешения».
Выбери аккаунт.
Если ты получишь предупреждение, открой вкладку «Дополнительные настройки».
Далее нажми «Перейти на страницу “Проект без названия”».
И предоставь доступ твоему приложению, для этого нажми «Разрешить».
Перейди в раздел «Триггеры» и убедись, что у тебя сохранен один триггер. Если в процессе настройки ты допустил ошибки, могут быть сохранены несколько триггеров, их нужно удалить.
На этом настройка подключения завершена.
Обновлено на: 19/09/2024
Спасибо!