在使用App-Script的Gmail标签名称中使用getThreads()时,如何防止按主题或日期分组?

阿米尔

当我使用GmailApp.getUserLabelByName(labelReceived).getThreads()时,它将检索具有相同主题并且在给定标签内外相同日期收到的所有电子邮件。
有没有一种解决方案可以从唯一给定的标签中获取电子邮件,而无需按主题或日期进行分组?
注意:在Gmail设置中,对话视图处于关闭状态。

更新:

function sendingAutoEmails(){
      var labelReceived = "Aanmelding Nieuwe";
      var labelProcessed = "Aanmelding Bevestigingen verstuurd";
      var labelProcessedEmails = GmailApp.getUserLabelByName(labelProcessed);    
      var labelReceivedEmails = GmailApp.getUserLabelByName(labelReceived);
      var threads = labelReceivedEmails.getThreads();

  for(var i = 0; i < threads.length; i++){
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++){
      var message = messages[j];
      Logger.log(message);// here I suppoesed to get one GmailMessage,
//but insted I am getting all the email that were received in the same day 
//of the current scanned email, they all have the same subject.

      if(message.getSubject() === "Nieuwe Aanmelding Website"){
        emailData.dateTime = message.getDate();
        emailData.body = message.getPlainBody();
        //code to process the body information 

        sendingTemplatesEmails();
        
        message.getThread().addLabel(labelProcessedEmails);
      message.getThread().removeLabel(labelReceivedEmails)
        GmailApp.markMessageRead(message);  
      }
    }

大师

问题:

  • 当前,似乎无法获得messages带有特定标签的电子邮件,而thread通过内置库中的Apps脚本,包含该标签的电子邮件没有被标签。

解:

片段:

function getLabelledMessages(labelName = 'test') {
  const labelIds = Gmail.Users.Labels.list('me').labels.find(
    labelObj => labelObj.name === labelName
  ).id;
  let messagesList, pageToken;
  do {
    messagesList = Gmail.Users.Messages.list('me', {
      labelIds,
      pageToken,
      maxResults: 100,
    });
    const messages = messagesList.messages;
    if (messages) console.log(JSON.stringify(messages));
  } while ((pageToken = messagesList.nextPageToken) !== undefined);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么列表标签按字面意义使用标签名称,以及如何防止这种情况?

如何使用Python词典按标签名称对AWS实例进行分组?

如何在Python中使用标签名称在特定标签内获取文本

在Back4App中使用JS按日期查询

如何在PrimeFaces 5.0中使用tabView获取动态标签名称和数据?

如何在jquery或angularjs中使用具有特定属性的标签名称获取元素

在Pandas数据框中使用按功能分组时找不到列名称

熊猫如何使用groupby按标签中的日期对列进行分组?

在 Flask 中使用 Celery 时无法导入名称 App

如何在 R 中使用按日期对它们进行分组的文本聚合行?

在SAS中使用proc sql按日期分组

当日期字段不同时,如何使用按日期分组?

以样式使用App名称空间

如何使用starts-with()函数从节点获取标签名称?

如何使用JAXB使类字段成为标签名称?

如何使用普通的核心Java获取标签名称

在Express App中使用Nunjucks

在Angle App中使用$$ rAF

在App中使用的GameCenter图标

在App Bundle中使用Dylibs

在查询中使用日期值格式时如何按日期排序?谷歌表格

使用时按日期分组

如何在Web App中使用Process时修复DirectoryNotFoundException

如何在Console App中使用UnityResolver?

按日期排序后如何按名称使用ORDER?

如何在C#中使用Gmail API获取Gmail主题

如何使用SQL Server按日期返回比率/比率分组

如何使用Python / Pandas从“日期”字段按年份分组

如何使用 Laravel 按日期对记录进行分组和计数?