Запустить скрипт электронной таблицы после изменения IFTTT
Есть ли способ запустить скрипт электронных таблиц Google, если лист редактируется IFTTT, а не человеком через браузер листов?
Фон: IFTTT поместил значение в определенную ячейку. Мой скрипт электронной таблицы Google сообщает, не является ли ячейка пустой; вставить новую строку. Так что мой скрипт выполняется, если мой лист редактируется мной вручную, и я помещаю значение в эту ячейку. Однако, если IFTTT добавляет новую запись в электронную таблицу, ничего не происходит. Я пробовал и триггеры onEdit и onChange безрезультатно. Какие-либо предложения?
Фактический скрипт, который я использую, находится ниже:
(function InsertRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Diagramm');
var values = sheet.getRange('B2').getValues();
if (values[0][0] != "")
sheet.insertRowBefore(2);
})();
Поэтому я следовал руководству по push-уведомлениям API драйвера Google и добавил следующий код в свой скрипт:
function listFiles() {
var optionalArgs = {
maxResults: 10
};
var response = Drive.Files.list(optionalArgs);
var files = response.items;
if (files && files.length > 0) {
Logger.log('Files:');
for (i = 0; i < files.length; i++) {
var file = files[i];
Logger.log('%s (%s)', file.title, file.id);
}
} else {
Logger.log('No files found.');
}
};
Но что мне нужно сделать сейчас? Извините, я не хороший программист...
1 ответ
Вы должны использовать push-уведомления Drive API, чтобы получить эти изменения.
Этот пример использования Apps Script с Drive API полезен для начала.
Спенсер Истон также предоставил учебник по получению push-уведомлений GMail, который даст вам несколько советов по настройке этого, так как вам нужно будет внести некоторые изменения в консоли разработчика.