0

如果工作表是由 IFTTT 而不是由人通过工作表浏览器编辑的,有没有办法让谷歌电子表格脚本运行?

背景:IFTTT 在特定单元格中输入了一个值。我的谷歌电子表格脚本说如果单元格不为空;插入一个新行。因此,如果我手动编辑了我的工作表并且我在该单元格中输入了一个值,那么我的脚本正在运行。但是,如果 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);

})();

因此,我按照Google Driver API Push Notifications 上的教程进行操作,并将以下代码添加到我的脚本中:

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.');
  }
};

但是我现在需要做什么?对不起,我不是一个好的程序员......

4

1 回答 1

0

您必须使用Drive API 推送通知来获取这些更改。

这个关于将 Apps 脚本与 Drive API 结合使用的示例有助于入门。

Spencer Easton 还提供了一个关于获取 GMail 推送通知的教程,它会给您一些设置提示,因为您必须在开发控制台中进行一些更改。

于 2017-12-18T13:41:03.203 回答