Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script GoogleApps脚本-从gmail特定标签读取数据返回来自所有标签的消息_Google Apps Script_Gmail_Google Spreadsheet Api - Fatal编程技术网

Google apps script GoogleApps脚本-从gmail特定标签读取数据返回来自所有标签的消息

Google apps script GoogleApps脚本-从gmail特定标签读取数据返回来自所有标签的消息,google-apps-script,gmail,google-spreadsheet-api,Google Apps Script,Gmail,Google Spreadsheet Api,在我的gmail中有两个名为x&y的用户定义标签。我需要检索特定标签中的消息,但我从所有标签中获取数据 我需要味精身体,标签和日期收到和更新它在电子表格 以下是我的代码: var-ulables=GmailApp.getUserLabels(); 对于(var x=0;x

在我的gmail中有两个名为x&y的用户定义标签。我需要检索特定标签中的消息,但我从所有标签中获取数据

我需要味精身体,标签和日期收到和更新它在电子表格

以下是我的代码:


var-ulables=GmailApp.getUserLabels();
对于(var x=0;x

Ex:-标签x有10封电子邮件 标签y有10封电子邮件 收件箱有50封电子邮件

对于每个标签,我收到60封电子邮件,这是个问题,但我希望10,10,50封电子邮件

过去两天一直在努力,但没有成功。请帮帮我。非常感谢



请让我知道细节,从上个星期开始我们一直在等待。有没有办法不用线程来获取邮件?

您是否考虑过收件箱中没有的线程(如sent)也可以有相同的标签。是的,我检查过sent、Started和,重要提示。你可以打印出每封邮件/帖子的主题行,然后你就会知道为什么会发生这种情况。我的问题是,我想找出所有标签上主题相同的电子邮件。
  var ulables = GmailApp.getUserLabels();
  for(var x=0; x < ulables.length; x++){ 
    var threads = GmailApp.getUserLabelByName(ulables[x].getName()).getThreads();

    for (var i = 0; i < threads.length; i++) {    
      var messages = threads[i].getMessages();      
      var label = ulables[x].getName();     
      for (var m = 0; m < messages.length; m++) {        
        var msg     = messages[m].getBody();
        var cmsg    = convertHtmlToText(msg);

        var subject = messages[m].getSubject();
        if(subject == reqSub){
          var recDate = Utilities.formatDate(messages[m].getDate(),"GMT","MM/dd/yyyy");
          if(isDateInRange(recDate, startDate, endDate)){

            var arr =[recDate,label,cmsg];
            mailSheet.getRange(++lastRow, 1,1,3).setValues([arr]).activate();
          }
        }
      }
    }
  }