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])
}
}
}
}
}