Google apps script 需要根据错误和警告拆分行并删除特定内容

Google apps script 需要根据错误和警告拆分行并删除特定内容,google-apps-script,google-api,gmail-api,Google Apps Script,Google Api,Gmail Api,在运行提供的脚本时,它的工作状态非常好,但需要修改。这是我需要的截图,我正在尝试更改脚本,如果可以,请帮助我 函数自动复制(){ var label=GmailApp.getUserLabelByName(“Sanmina EDI失败并发作业警报”); var threads=label.getThreads(); var read=threads.getMessages(); var uread=threads.isUnread(); 对于(变量i=0;i 0){ var out=“需要创建S

在运行提供的脚本时,它的工作状态非常好,但需要修改。这是我需要的截图,我正在尝试更改脚本,如果可以,请帮助我

函数自动复制(){
var label=GmailApp.getUserLabelByName(“Sanmina EDI失败并发作业警报”);
var threads=label.getThreads();
var read=threads.getMessages();
var uread=threads.isUnread();
对于(变量i=0;i 0){
var out=“需要创建SR”
}否则如果(操作1>0 | |操作2>2){
var out=“需要创建SR”
}否则{
var out=“打印输出文件”
}
var activeSheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
activeSheet.appendRow([day,bodycontent,out]);
}

我想通过读取未读线程id并使用从已读线程id到未读线程id的循环来将数据从电子邮件提取到电子表格,并打印未读电子邮件中的邮件正文内容和日期。

我稍微修改了您的代码。在其中添加一些注释,以便您可以清楚地看到每行中发生了什么。您的问题是,您试图在错误的对象上使用方法(例如,线程数组没有
getMessages
方法,因此您必须循环遍历每个线程并获取每个特定线程的消息)

函数自动复制(){
var label=GmailApp.getUserLabelByName(“Sanmina EDI失败并发作业警报”);
//获取属于此标签的所有线程
var threads=label.getThreads();
//循环遍历每个线程
对于(var i=0;i0){
var out=“需要创建SR”
}否则如果(操作1>0 | |操作2>2){
var out=“需要创建SR”
}否则{
var out=“打印输出文件”
}
var activeSheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
activeSheet.appendRow([day,bodyContent,out])
}
}
}
}
}

我希望这对你有用

嗨,伊姆布利丘斯,非常感谢你的帮助。我想在这里补充一些小东西。ex-1024487960 Sanmina EDI 850/860错误异常报告终止JMUCHISU 1024487767 Sanmina EDI 850/860入站报告终止JMUCHISU 1024486938 Sanmina EDI 850/860入站报告终止JMUCHISU。数据需要逐行跟踪,但它只跟踪一行所有值。1024487960 Sanmina EDI 850/860错误异常报告终止JMUCHISU->1 1024487767 Sanmina EDI 850/860入站报告终止JMUCHISU->2 1024486938 Sanmina EDI 850/860入站报告终止JMUCHISU->3Hi@VishwanathRengaraj非常欢迎您。我建议你发布另一个关于这个的问题,解释你想要实现的目标。
function autocopy() {
  var label = GmailApp.getUserLabelByName("Sanmina EDI Failed Concurrent Jobs Alert");
  var threads = label.getThreads();
  var read = threads.getMessages();
  var uread = threads.isUnread();

  for(var i = 0; i <= uread.length; i++) { 
    var message=uread(i);
  }

  var message1 = new message.Date();
  var day = message1.getUTCDate();
  var bodycontent = message.getbody();
  var action = bodyContents.search("Invoice")
  var action1 = bodyContents.search("Error")
  var action2 = bodyContents.search("Terminated")

  if (action > 0) {
    var out ="Need to create SR"
  } else if (action1 > 0 || action2 > 2) {
    var out ="Need to create SR"
  } else {
    var out ="Printing output file"
  }

  var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  activeSheet.appendRow([day, bodycontent, out]);
}

function autocopy() {
  var label = GmailApp.getUserLabelByName("Sanmina EDI Failed Concurrent Jobs Alert");
  // Get all threads belonging to this label
  var threads = label.getThreads();
  // Loop through each thread
  for (var i = 0; i < threads.length; i++) {
    // Check whether thread is unread
    if (threads[i].isUnread()) {
      // Get all messages for each unread thread
      var messages = threads[i].getMessages();
      // Loop through all messages for each unread thread
      for (var j = 0; j < messages.length; j++) {
        // Check whether message is unread 
        // (delete this condition if you want all messages in an unread 
        // thread to be printed in your spreadsheet, read or unread)
        if (messages[j].isUnread()) {
          var day = messages[j].getDate();
          var bodyContent = messages[j].getBody(); // Use getPlainBody() instead if you don't want html tags;
          var action = bodyContent.search("Invoice");
          var action1 = bodyContent.search("Error");
          var action2 = bodyContent.search("Terminated");

          if (action > 0) {
            var out = "Need to create SR"
          } else if (action1 > 0 || action2 > 2) {
            var out = "Need to create SR"
          } else {
            var out = "Printing output file"
          }
          var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
          activeSheet.appendRow([day, bodyContent, out])
        }
      }
    }
  }
}