Triggers &引用;需要一个正的复发频率”;谷歌应用程序时钟触发器
我在尝试创建基于时钟的触发器时遇到问题。这是谷歌应用程序脚本。该脚本应该调用一个函数,该函数将在上午5点从电子表格发送信息。我知道这个功能可以工作,因为我在5点到6点的内置触发器中使用了它,但他们希望它正好在5点工作,而不是在那个小时范围内的任何时候。这是我的密码:Triggers &引用;需要一个正的复发频率”;谷歌应用程序时钟触发器,triggers,google-apps-script,builder,clock,Triggers,Google Apps Script,Builder,Clock,我在尝试创建基于时钟的触发器时遇到问题。这是谷歌应用程序脚本。该脚本应该调用一个函数,该函数将在上午5点从电子表格发送信息。我知道这个功能可以工作,因为我在5点到6点的内置触发器中使用了它,但他们希望它正好在5点工作,而不是在那个小时范围内的任何时候。这是我的密码: var SOD_Briefing_Trigger = ScriptApp.newTrigger("sendBriefingByEmail") .timeBased(). atHour(5) .create(); 每次尝试运行或调试
var SOD_Briefing_Trigger = ScriptApp.newTrigger("sendBriefingByEmail")
.timeBased().
atHour(5)
.create();
每次尝试运行或调试时,我都会收到以下错误消息:
Needs a positive frequency of recurrence
抱歉,如果这看起来像一个新问题。我花了几天时间在这里和谷歌搜索类似的问题。我什么也找不到 那个错误消息有点神秘。如果你只说“atHour”,系统知道“时间”,但不知道“频率”
以下这些应该是有效的
var SOD_Briefing_Trigger = ScriptApp.newTrigger("sendBriefingByEmail")
.timeBased()
.atHour(5)
.everyDays(1)
.create();
注意“everyDays”呼叫。这意味着每X天运行一次-在本次通话中每天运行一次。您可以根据记录的呼叫将其更改为其他频率。其他一些例子——“atDate”(如果你只想在今天或明天运行)和“onWeekDay”(如果你想在每个星期一运行,例如) 那个错误消息有点神秘。如果你只说“atHour”,系统知道“时间”,但不知道“频率”
以下这些应该是有效的
var SOD_Briefing_Trigger = ScriptApp.newTrigger("sendBriefingByEmail")
.timeBased()
.atHour(5)
.everyDays(1)
.create();
注意“everyDays”呼叫。这意味着每X天运行一次-在本次通话中每天运行一次。您可以根据记录的呼叫将其更改为其他频率。其他一些例子——“atDate”(如果你只想在今天或明天运行)和“onWeekDay”(如果你想在每个星期一运行,例如) 我只需要使用一个简单的功能就可以让它工作一次,只需向我发送一封带有短消息的电子邮件。从那以后,我一直无法通过电子表格向我发送更长的电子邮件 这是我试图运行的全部代码,今天早上5点没有给我发送任何信息
function createTimeTrigger3() {
try{
var SOD_Briefing_TriggerMonday = ScriptApp.newTrigger("sendBriefingByEmail2")
.timeBased()
.atHour(5)
.nearMinute(15)
.onWeekDay(ScriptApp.WeekDay.MONDAY)
.create();
var SOD_Briefing_TriggerTuesday = ScriptApp.newTrigger("sendBriefingByEmail2")
.timeBased()
.atHour(5)
.nearMinute(15)
.onWeekDay(ScriptApp.WeekDay.TUESDAY)
.create();
var SOD_Briefing_TriggerWednesday = ScriptApp.newTrigger("sendBriefingByEmail2")
.timeBased()
.atHour(5)
.nearMinute(15)
.onWeekDay(ScriptApp.WeekDay.WEDNESDAY)
.create();
var SOD_Briefing_TriggerThursday = ScriptApp.newTrigger("sendBriefingByEmail2")
.timeBased()
.atHour(5)
.nearMinute(15)
.onWeekDay(ScriptApp.WeekDay.THURSDAY)
.create();
var SOD_Briefing_TriggerFriday = ScriptApp.newTrigger("sendBriefingByEmail2")
.timeBased()
.atHour(5)
.nearMinute(15)
.onWeekDay(ScriptApp.WeekDay.FRIDAY)
.create();
}
catch(err)
{
MailApp.sendEmail("************.gov", "there was a problem with the SOD trigger", err.message);
}
Logger.log("Unique ID of SOD_Briefing_TriggerMonday: " + SOD_Briefing_TriggerMonday.getUniqueId());
Logger.log("Unique ID of SOD_Briefing_TriggerTuesday: " + SOD_Briefing_TriggerTuesday.getUniqueId());
Logger.log("Unique ID of SOD_Briefing_TriggerWednesday: " + SOD_Briefing_TriggerWednesday.getUniqueId());
Logger.log("Unique ID of SOD_Briefing_TriggerThursday: " + SOD_Briefing_TriggerThursday.getUniqueId());
Logger.log("Unique ID of SOD_Briefing_TriggerFriday: " + SOD_Briefing_TriggerFriday.getUniqueId());
Logger.log("Unique ID of SOD_Briefing_TriggerToday: " + SOD_Briefing_TriggerToday.getUniqueId());
}
function sendBriefingByEmail2() {
var email = SpreadsheetApp.openById("***********").getSheetByName("Email Roster").getRange(4, 3).getValue()
+SpreadsheetApp.openById("***************").getSheetByName("Email Roster").getRange(5, 3).getValue()
+SpreadsheetApp.openById("***************").getSheetByName("Email Roster").getRange(6, 3).getValue()
+SpreadsheetApp.openById("***************").getSheetByName("Email Roster").getRange(7, 3).getValue()
+SpreadsheetApp.openById("*************").getSheetByName("Email Roster").getRange(8, 3).getValue()
+SpreadsheetApp.openById("*********************").getSheetByName("Email Roster").getRange(9, 3).getValue()
+SpreadsheetApp.openById("**********************").getSheetByName("Email Roster").getRange(10, 3).getValue()
+SpreadsheetApp.openById("**************").getSheetByName("Email Roster").getRange(11, 3).getValue()
+SpreadsheetApp.openById("**********************").getSheetByName("Email Roster").getRange(12, 3).getValue();
if (SpreadsheetApp.openById("**********************").getSheetByName("Previous_24_Hours").getRange(2, 1).isBlank()){
try {
MailApp.sendEmail(email, "No SOD Daily Briefing to Report Today", "There were no daily briefing entries submitted for SOD in the previous 24 hours.");
}
catch(err){
MailApp.sendEmail("*************.gov", "there was a problem sending the SOD BLANK briefing in the AM", err.message);
}
}
else {
try {
var subject = "Special Operations Bureau Daily Briefing";
var row = 2;
var email24sheet = SpreadsheetApp.openById("*********************").getSheetByName("Previous_24_Hours");
var LastRow = SpreadsheetApp.openById("******************").getSheetByName("Previous_24_Hours").getLastRow();
var msgHtml = ""
do {
msgHtml = msgHtml + "<br><hr><br>"
+"<p>"+"<b>"+"Unit: "+"</b>"+email24sheet.getRange(row, 11).getValue()+"</p>"
+"<p>"+"<b>"+"Incident: "+"</b>"+email24sheet.getRange(row, 1).getValue()+"</p>"
+"<p>"+"<b>"+"Date / Time: "+"</b>"+email24sheet.getRange(row, 2).getValue()+ " @ " + email24sheet.getRange(row, 3).getValue()+ " hours"+"</p>"
+"<p>"+"<b>"+"Location: " + "</b>" +email24sheet.getRange(row, 4).getValue()+"</p>"
+"<p>"+"<b>"+"Trooper: "+"</b>"+email24sheet.getRange(row, 5).getValue()+"</p>"
+"<p>"+"<b>"+"Assisting Trooper(s): "+"</b>"+email24sheet.getRange(row, 6).getValue()+"</p>"
+"<p>"+"<b>"+"Suspect: "+"</b>"+email24sheet.getRange(row, 7).getValue()+"</p>"
+"<p>"+"<b>"+"Charges: "+"</b>"+email24sheet.getRange(row, 8).getValue()+"</p>"
+"<p>"+"<b>"+"Yield: "+"</b>"+email24sheet.getRange(row, 9).getValue()+"</p>"
+"<p>"+"<b>"+"Synopsis: "+"</b>"+email24sheet.getRange(row, 10).getValue()+"</p>";
row = row + 1;
} while(row < LastRow+1);
var msgHeader = "<p>"+"<H1>"+"<P ALIGN=Center>"+"Special Operations Bureau Daily Briefing"+"</H1>"+"</p>"
+"<p>"+"<H2>"+"<P ALIGN=Center>"+"Created: " + new Date().toLocaleDateString()+"</H2>"+"</p>";
var msgFooter = "<p>"+"<i>"+"<P ALIGN=Center>"+"This message was automatically generated using data submitted electronically from the Spec Ops Bureau website and / or form. For errors or suggestions for improvements, email **************.gov "+"</i>"+"</p>";
var msgPlain = msgHtml.replace(/(<([^>]+)>)/ig, ""); // clear html tags for plain mail
MailApp.sendEmail(email, subject, msgPlain, { htmlBody: msgHeader + msgHtml + msgFooter });
SpreadsheetApp.openById("*************").getSheetByName("Previous_24_Hours").getRange("Previous_24_Data").clearContent(); //clears the incidents that were just sent
}
catch(err){
MailApp.sendEmail("**************.gov", "there was a problem sending the SOD briefing in the AM", err.message);
}
}
}
函数createTimeTrigger3(){
试一试{
var SOD_Briefing_TriggerMonday=ScriptApp.newTrigger(“通过Email2发送简报”)
.基于时间的()
.atHour(5)
.近分钟(15)
.onWeekDay(ScriptApp.WeekDay.MONDAY)
.create();
var SOD_Briefing_TriggerTuesday=ScriptApp.newTrigger(“通过Email2发送简报”)
.基于时间的()
.atHour(5)
.近分钟(15)
.onWeekDay(ScriptApp.WeekDay.周二)
.create();
var SOD_Briefing_trigger周三=ScriptApp.newTrigger(“通过Email2发送简报”)
.基于时间的()
.atHour(5)
.近分钟(15)
.onWeekDay(ScriptApp.WeekDay.周三)
.create();
var SOD\u Briefing\u triggerThresday=ScriptApp.newTrigger(“通过Email2发送简报”)
.基于时间的()
.atHour(5)
.近分钟(15)
.onWeekDay(ScriptApp.WeekDay.周四)
.create();
var SOD_Briefing_TriggerFriday=ScriptApp.newTrigger(“通过Email2发送简报”)
.基于时间的()
.atHour(5)
.近分钟(15)
.onWeekDay(ScriptApp.WeekDay.FRIDAY)
.create();
}
捕捉(错误)
{
MailApp.sendmail(“************.gov”,“SOD触发器有问题”,err.message);
}
Logger.log(“SOD_Briefing_TriggerMonday的唯一ID:+SOD_Briefing_TriggerMonday.getUniqueId());
Logger.log(“SOD_Briefing_trigger周二的唯一ID:+SOD_Briefing_trigger周二.getUniqueId());
Logger.log(“SOD_Briefing_Trigger周三的唯一ID:+SOD_Briefing_Trigger周三.getUniqueId());
Logger.log(“SOD_Briefing_triggerThready的唯一ID:+SOD_Briefing_triggerThready.getUniqueId());
Logger.log(“SOD_Briefing_TriggerFriday的唯一ID:+SOD_Briefing_TriggerFriday.getUniqueId());
Logger.log(“SOD_Briefing_TriggerToday的唯一ID:+SOD_Briefing_TriggerToday.getUniqueId());
}
函数sendBriefingByEmail2(){
var email=SpreadsheetApp.openById(“**********”).getSheetByName(“电子邮件花名册”).getRange(4,3).getValue()
+SpreadsheetApp.openById(“*************”).getSheetByName(“电子邮件花名册”).getRange(5,3).getValue()
+SpreadsheetApp.openById(“*************”).getSheetByName(“电子邮件花名册”).getRange(6,3).getValue()
+SpreadsheetApp.openById(“*************”).getSheetByName(“电子邮件花名册”).getRange(7,3).getValue()
+SpreadsheetApp.openById(“*************”).getSheetByName(“电子邮件花名册”).getRange(8,3).getValue()
+SpreadsheetApp.openById(“*******************”).getSheetByName(“电子邮件花名册”).getRange(9,3).getValue()
+SpreadsheetApp.openById(“*******************”).getSheetByName(“电子邮件花名册”).getRange(10,3).getValue()
+SpreadsheetApp.openById(“*************”).getSheetByName(“电子邮件花名册”).getRange(11,3).getValue()
+SpreadsheetApp.openById(“*******************”).getSheetByName(“电子邮件花名册”).getRange(12,3).getValue();
if(SpreadsheetApp.openById(“*******************”).getSheetByName(“上一个24小时”).getRange(2,1).isBlank(){
试一试{
MailApp.sendEmail(电子邮件,“今天没有SOD每日简报要报告”,“在过去24小时内没有为SOD提交每日简报条目”);
}
抓住(错误){
MailApp.sendmail(“***************.gov”,“在上午发送SOD空白简报时出现问题”,err.message);
}
}
否则{
试一试{
var subject=“特种作战局每日简报”;
var行=2;
var email24sheet=SpreadsheetApp.openById(“*******************”).getSheetByName(“前24小时”);
var LastRow=SpreadsheetApp.openById(“****************”).getSheetByName(“以前的24小时”).getLastRow();
var msgHtml=“”
做{
msgHtml=msgHtml+“
”
+“”+”“+”单位:“+”“+email24sheet.getRange(第11行).getValue()+””
+“”+”“+”事件:“+”“+email24sheet.getRange(第1行).getValue()+””
+“日期/时间:”+“+email24sheet.getRange(第2行)。getValue()+”@“+email24sheet.getRange(第3行)。getValue()+”小时数“+””
+“”+”“+”位置:“+”“+email24sheet.getRange(第4行).getValue()+”