2015-06-23 42 views
0

谷歌Apps脚本Gmail的脚本 - label.getUnreadCount()问题

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

任何想法?

+0

玩过这个方法,并测试了几个标签和不同的场景。该方法返回正确的结果。确保您正在运行脚本并使用您检查标签的相同电子邮件进行身份验证。 – KRR

回答

0

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

但是,变通的一种是使用:

var threads = label.getThreads();

,并将所有的这些添加到收件箱,同时保持这些文件打上标签。现在,如果您计算,您的函数应该返回17.但理想情况下,您不应该这样做,所以我建议您也将其归档为缺陷here,并在此期间使用变通办法。