微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为时间触发器添加 Null 选项以避免“....failed to finish successfully”错误报告

如何解决为时间触发器添加 Null 选项以避免“....failed to finish successfully”错误报告

目标:为新电子邮件按时运行脚本并发送到 Google Sheet 标签 问题:脚本将成功运行,但如果在我设置定时触发器来监控新 Gmail 时找不到未读的 Gmail 线程,则会创建“...无法成功完成”报告,使用特定线程(电子表格名称)。

如何添加“空”过滤器来阻止错误发生?

非程序员所以为代码道歉!


function getGmailEmails(){

var spreadSheetName = SpreadsheetApp.getActiveSpreadsheet().getName();
var subLabelVariable = "xxxxx" + spreadSheetName;

var label =  GmailApp.getUserLabelByName(subLabelVariable);

var threads =  label.getThreads();
var sentToSheet = GmailApp.getUserLabelByName("SenttoSheet");

  
  for(var i = threads.length - 1; i >=0; i--){
    var messages =  threads[i].getMessages();
    
    for (var j = 0; j <messages.length; j++){
      var message = messages[j];
      if (message.isUnread()){
        extractDetails(message);
        GmailApp.markMessageRead(message);
      }
    }
    threads[i].addLabel(sentToSheet); 
    
  }
}
function extractDetails(message){
  var dateTime = message.getDate();
  var subjectText = message.getSubject();
  var senderDetails = message.getFrom()
  var sentTo =message.getTo();
  var bodyContents = message.getPlainBody();
  var messageLink = message.getId();
  var emailLink = "https://mail.google.com/mail/u/0/#all/" + messageLink;
  var type = "From: " + senderDetails + '\n' + "SentTo: " + sentTo + '\n' + emailLink;
  var contactHistorySheet = SpreadsheetApp.getActiveSpreadsheet();
  var contactHistorySheetName =  contactHistorySheet.getSheetByName("xxxxxxxx"); contactHistorySheetName.appendRow([dateTime,type,subjectText,bodyContents]);

}

解决方法

if(threads) {
for(var i = threads.length - 1; i >=0; i--){
    var messages =  threads[i].getMessages();
    
    for (var j = 0; j <messages.length; j++){
      var message = messages[j];
      if (message.isUnread()){
        extractDetails(message);
        GmailApp.markMessageRead(message);
      }
    }
    threads[i].addLabel(sentToSheet); 
    
  }
}
,

已解决:触发器设置为 15 分钟检查周期,并且在 24 时间段内调用次数过多。未设置为每小时检查一次。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。