我一直在使用Suyash Gandhi的代码来计算每天属于特定标签的电子邮件数量。下面是我一直在使用的代码:
function CountVoicemail()
{
var label = GmailApp.getUserLabelByName("X140");
var labelname = label.getName();
var mails = label.getThreads();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data
Sheet");
var date = new Date();
sheet.appendRow([labelname, date, mails.length]);
}
我有从Google表格运行的代码,每天在我选择的指定时间运行该脚本,该脚本将运行并添加一个包含三列的新行;标签名称,脚本运行日期和时间,以及带有该特定标签的电子邮件总数。然后,我在实际的Google表格中有一个数组公式(在D列中)减去前一天的总数,以便计算当天收到的带有该标签的电子邮件数量(我在Gmail中设置了一个过滤器,用于从具体来源)。直到最近,标签中的电子邮件数量超过500后,脚本中的getThreads()调用仍只会返回值500。直到现在,我可以使getThreads()调用返回值吗?大于500?如果没有,我可以使用另一个电话吗?我已经尝试为getThreads调用[getThreads(start,max)]指定范围,但这并不能真正帮到我,因为我想对标签中的电子邮件总数进行计数,以便从中计算当天的总数我的ArrayFormula。
答案 0 :(得分:0)
阅读:https://developers.google.com/apps-script/reference/gmail/gmail-label#getthreads
看看this:
getThreads(start, max)
Gets a range of threads marked with this label.
// log the subject lines of up to the first 30 threads with the label MyLabel
var label = GmailApp.getUserLabelByName("MyLabel");
var threads = label.getThreads(0, 30);
for (var i = 0; i < threads.length; i++) {
Logger.log(threads[i].getFirstMessageSubject());
}