通过使用一个简单的功能,我能够让它工作一次,该功能只是向我发送了一封带有短消息的电子邮件。从那以后,我无法让它根据电子表格向我发送更长的电子邮件。
这是我试图运行的整个代码,今天 0500 没有给我发送任何东西。
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);
}
}
}
我在 0500 什么也没得到。然后我尝试制作更多触发器,只是为了测试触发器构建器并尝试不同的东西来看看我能做什么。
我使用从谷歌脚本站点(https://developers.google.com/apps-script/managing_triggers_programmatically)找到的命令删除触发器:
// Delete a trigger with the given unique ID
function deleteTrigger(triggerId) {
// Locate a trigger by unique ID
var allTriggers = ScriptApp.getScriptTriggers();
// Loop over all triggers
for(var i=0; i < allTriggers.length; i++) {
if (allTriggers[i].getUniqueId() == triggerId) {
// Found the trigger and now delete it
ScriptApp.deleteTrigger(allTriggers[i]);
break;
}
}
}
但现在我得到:
此脚本有太多触发器。必须先从脚本中删除触发器,然后才能添加更多触发器。
和
已经设置了循环时钟触发器。
当我尝试运行任何东西时通过电子邮件发送给我的错误消息。
我应该为一周中的每一天的触发器执行不同的功能吗?