Запустить скрипт электронной таблицы после изменения 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, который даст вам несколько советов по настройке этого, так как вам нужно будет внести некоторые изменения в консоли разработчика.

Другие вопросы по тегам