Часовой триггер заставляет отправлять оповещения по электронной почте каждый час, но требуется только первый раз - PullRequest
0 голосов
/ 21 января 2019

У меня есть скрипт, который проверяет две вещи:

-> Строка с сегодняшней датой в столбце D И соответствующее значение в столбце F должно быть больше 0,5.Когда они оба верны, он отправляет оповещение по электронной почте.

Однако я настроил свой триггер Google Script для этого скрипта на каждый час.Теперь, когда это условие выполняется, оно отправляет мне оповещение каждый час.Я хочу получать оповещения только в первый раз (то есть в первый час), когда это состояние было обнаружено для данного дня.

Итак, вместо того, чтобы получать 24 электронных письма в течение дня (каждый час этого дня), я хочу получить только ПЕРВУЮ электронную почту.Как это можно добавить к этому сценарию?

function readCell() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('test'); 
  var rg=sh.getDataRange()
  var vA=rg.getValues();
  var yesterday=new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate());//today
  var yesterdayString=Utilities.formatDate(yesterday, Session.getScriptTimeZone(), "MMddyyyy")

  for(var i=1;i<vA.length;i++) {
    if (isDate(vA[i][2])) {
      var t1=Utilities.formatDate(new Date(vA[i][2]),Session.getScriptTimeZone(),"MMddyyyy");//

      if(t1==yesterdayString && Number(vA[i][5])>0.5) {
        MailApp.sendEmail('blabla@gmail.com','Alert!', 'Detected on: ' +vA[i][3].)

      }
    }
  }
}
function isDate(date){
  return(Object.prototype.toString.call(date) === '[object Date]');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...