Gmail脚本 - label.getUnreadCount()问题

时间:2015-06-23 07:26:31

标签: google-apps-script count gmail label

Google Apps脚本

https://developers.google.com/apps-script/reference/gmail/gmail-label

getUnreadCount()

// log the number of unread threads labeled with MyLabel
   var label = GmailApp.getUserLabelByName("MyLabel");
   Logger.log(label.getUnreadCount());

Gets the number of unread threads tagged with this label. 

当我尝试提供的示例代码时,它会返回一个不同的未读值。

在电子邮件中,它显示17个未读但日志文件显示为12.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我彻底测试了这个脚本,发现它虽然收到了收件箱中标有标签的电子邮件的数量,但是,它不会计算标记的电子邮件,这些电子邮件可能在其他文件夹中但具有相同的标签。因此,如果您有17个带有标签的未读电子邮件(假设它像您的问题)“MyLabel”,那么我的猜测是其中12个在收件箱中,但其中5个已跳过/从收件箱中移出,因此不计算通过功能。

然而,其中一个解决方法是使用:

var threads = label.getThreads();

并将所有这些内容添加到收件箱中,同时保持这些文件标有您的标签。现在,如果算一算,你的函数应该返回17.但理想情况下你不应该这样做,所以我建议你也把它作为缺陷here归档,并利用它的解决方法。同时