首先关闭:JavaScript新手。我们非常感谢您提供的任何帮助/指导。
我有一个新的商业案例,其中一个GMail盒子将每天收到4次具有相同主题行的电子邮件,但每次都有一个新的.csv附件。我在GMail中创建了标签,并且它已成功附加到每封电子邮件中。我需要能够使用Apps脚本来处理最旧的未读电子邮件。解析.csv的部分已经过测试/成功/完成。但是,每次运行它时,它都会循环遍历所有文件,然后再次处理它们。
以下是从GMail Box获取信息的当前代码
// GMail Details
var gmailLabel = ('_Projects/ProjectLabel');
var label = GmailApp.getUserLabelByName(gmailLabel);
var unreadCount = label.getUnreadCount();
var gmailThreads = GmailApp.getUserLabelByName(gmailLabel).getThreads();
Logger.log(label.getUnreadCount());
for (var i = 0; i < gmailThreads.length; i++) {
Logger.log(gmailThreads[i].getFirstMessageSubject());
}
}
日志确实显示正确有2个未读线程,并且在记录器中显示主题行。但是,在gmailThreads数组中,我只能看到线程的对象编号。我如何获得属于这些线程的每封电子邮件的对象编号?这将是我首先需要解析.csv附件,然后在循环中标记为读取(或更改标签)的电子邮件。
再次感谢您的期待!
答案 0 :(得分:0)
要获取给定Gmail主题中第一封邮件的ID,您需要调用getMessages()
来检索所有邮件,然后使用[0]
访问生成的数组中的第一条邮件:
var firstMessage = thread.getMessages()[0];
然后,您可以使用此GmailMessage
执行许多操作,例如检索其ID(.getId()
)或附件(.getAttachments()
)。