Google sheets 谷歌应用程序脚本创建重复的任务

Google sheets 谷歌应用程序脚本创建重复的任务,google-sheets,gmail,google-tasks-api,Google Sheets,Gmail,Google Tasks Api,使用标签和过滤器,我为所有收到的邮件设置了一个标签。生成电子邮件回执,生成,发送 // 2. 生成一个任务,用户名作为标题、日期、电子邮件的html链接,电子邮件作为备注。我正在仪表板上工作,并创建了以下脚本。然而,它似乎没有刷新。我不断从收到的电子邮件中获取任务和电子邮件,并从中删除标签 function EmailReceiptFunction(){ let receiptsub = "Email Receipt"; let receiptbody ="I'

使用标签和过滤器,我为所有收到的邮件设置了一个标签。生成电子邮件回执,生成,发送 // 2. 生成一个任务,用户名作为标题、日期、电子邮件的html链接,电子邮件作为备注。我正在仪表板上工作,并创建了以下脚本。然而,它似乎没有刷新。我不断从收到的电子邮件中获取任务和电子邮件,并从中删除标签


function EmailReceiptFunction(){
let receiptsub = "Email Receipt"; 
let receiptbody ="I've received your email!";
let lbltxt = 'zzCogEmail'; // cog= zzCogEmail intro=zzIntroEmail
let tlid_txt = 'tasklistid'; //
var rpljunk = ['Listerservecrap','othercrap','reply@aplace.com','"','"','>'];  //things I need to remove from the sender

var label = GmailApp.getUserLabelByName(lbltxt);  // Log the subject lines of the threads labeled with MyLabel
var threads = label.getThreads();

  For (var i = 0; i < threads.length; i++) { 
    var message = threads[i].getMessages()[i];  //get the message at index i of label array 
    var mydate = message.getDate();
    let a_name = message.getFrom();
    let mysub = message.getSubject();
    var mybody = message.getPlainBody();
    let myid = message.getHeader("Message-ID"); //this gets the messages id

    if (mysub.includes('TODAYS EMAIL CHECK')){  //This is supposed to eliminate the email that prints out my daily agenda of how to check my email
      message.removeLabel(label);
      }else if(mysub.includes(receiptsub)){
      message.removeLabel(label);
      }else{

        for (var s = 0; s < 10; s++){  //myAgenda.length, replaces double spaces and carriage returns in email body
          var mybody = mybody.replace(/\n|
          myid = myid.replace('\>','');
          myid = myid.replace('\<','');
          myid = 'https://mail.google.com/mail/u/0/?tab=wm#search/rfc822msgid:' + myid; //this creates a link in tasks to the email
          let tasknotes = mydate + '\n\n' + myid + '\n\n' + mybody;
            for (var r = 0; r < rpljunk.length; r++){
              a_name = a_name.replace(rpljunk[r],'');
               }
          a_name = a_name.replace('<',' - '); 
          let indexaname = a_name.split('-');
         var  j = indexaname.length - 1; 
          let mysender = indexaname[j]; //sets the last line of the array to string variable mysender
          var pos = mysender.lastIndexOf('@');
            if (mysender.includes('dontacceptemailfromme@gmail.com')){
              message.markRead();
              } else if(mysender.includes('dontacceptemailfromme@sc.edu')) {       
              message.markRead();
             } else if(mysender.includes('dontaccepteemailfromotherme')) {       
             message.markRead();
             }else if(pos < 4) {      
            message.markRead();
             } else {
    GmailApp.createDraft(mysender, receiptsub, receiptbody);
    var draft = GmailApp.getDrafts()[0]; // The first draft message in the drafts folder
    var msg = draft.send(); // Send it
   // Logger.log(tasknotes);
      var taskListId = tlid_txt; //tasklist id for CogRec
      var task = {
         title: mysender,
         notes: tasknotes,
         };
          //Adds a task with the email in this code created in IntroRec
         var taskListId = tlid_txt; 
         task = Tasks.Tasks.insert(task, taskListId);
         Logger.log(task);
         
      }  
 threads[i].removeLabel(label);
 threads[i].refresh();
  }
  }
 }


函数EmailReceiptFunction(){
let receiptsub=“电子邮件收据”;
let receiptbody=“我已收到您的电子邮件!”;
让lbltxt='zzcogeemail';//cog=zzcogeemail intro=zzIntroEmail
让tlid_txt='tasklistid'//
var rpljunk=['Listerservecrap','othercrap','reply@aplace.com“,”,“,”,“>”];//我需要从发件人中删除的内容
var label=GmailApp.getUserLabelByName(lbltxt);//记录用MyLabel标记的线程的主题行
var threads=label.getThreads();
对于(var i=0;i','';

myid=myid.replace('\n您是否尝试过调试并查看代码是否在该循环中输入了两次,或者正在插入的任务?您是否可以尝试提供有关您的问题的更多信息?它似乎没有循环,但日志没有传播。我有一封电子邮件在任务列表中出现了4-8次。不是连续出现。在标签gi上搜索ves没有结果。它似乎没有循环(日志没有传播)。以下是我注意到的行为。1.电子邮件多次出现在任务列表中,但不是连续出现。在标签上搜索没有结果。2.错误的嵌入逻辑(我从内到外检查了每个步骤循环)3.也可能是我的刷新太晚了,没有用。4.我是否在收件箱之外搜索线程?5.我的主要想法是,这与我在便笺中嵌入的链接有关。我在删除标签之前设置了嵌入的链接(可能标签存在于我看不到的内容中)。好的,问题似乎是每次触发代码时,它都会搜索所有邮件,而不是收件箱。我如何解决这个问题?您不能只检查正在迭代的线程的标签吗?