首页 > 解决方案 > GetUserLabelByName Google 应用脚本问题

问题描述

我正在尝试使用“getUserLabelByName”仅检索标有“MyLabel”的电子邮件线程,但该脚本还从“销售”、“营销”标签中提取电子邮件。这些电子邮件没有“MyLabel”标签,当我明确告诉 App Script 只提取带有“MyLabel”标签的电子邮件时,我无法弄清楚为什么它们会包含在数组中。

我添加了 Logger.log(To); 这样我就可以看到正在记录哪些电子邮件地址。作为背景,所有发往某个地址(例如 info@company.com)的电子邮件都应标有“MyLabel”标签,而发送到其他电子邮件地址的其他电子邮件则被分配不同的标签。因此,如果只是从“MyLabel”收集电子邮件,则应该没有理由在日志中看到除“info@company.com”之外的任何其他电子邮件地址,但还有其他电子邮件地址被捕获,我无法计算出如何解决这个问题。

function getEmail() {
  var label = GmailApp.getUserLabelByName("MyLabel");
  var threads = label.getThreads();
  Logger.log(label);

      //get first message in first thread
  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];
    var To=message.getTo();
    Logger.log(To);
    Logger.log(message.getFrom());

是的,这个脚本还有更多内容,但本节是问题所在。

标签: google-apps-scriptweb-applications

解决方案


推荐阅读