google-apps-script - Gmail 电子邮件按脚本计数
问题描述
我正在尝试使用 Google Scripts 计算我所有带有“完整 - 其他”标签的电子邮件。问题是,查询并未计算所有电子邮件。如果我查看标签,我至少有 21k 个线程,而脚本只计算了 591 封电子邮件。
你知道我该怎么做才能纠正这个问题吗?
谢谢 !
代码示例:
`function countMessages3() {
var spreadsheet = SpreadsheetApp.getActive()
SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName('Mails'))
var threads = GmailApp.search('in:sent');
var receivedCount = 0;
for(var i=0; i<threads.length; i++)
{
receivedCount = receivedCount + threads[i].getMessageCount();
}
spreadsheet.getRange('\'Mails\'!B4').setValue(receivedCount);`
解决方案
我猜,您提供的代码是在已发送文件夹中搜索邮件。要在标签中搜索消息,我认为您可以执行以下操作:
1.使用https://developers.google.com/apps-script/reference/gmail/gmail-app.html#getuserlabelbynamename获取标签
getUserLabelByName()
2.使用https://developers.google.com/apps-script/reference/gmail/gmail-label.html#getthreads获取该标签的所有线程
getThreads()
3.然后使用https://developers.google.com/apps-script/reference/gmail/gmail-thread.html#getmessagecount在每个线程中汇总消息计数
getMessageCount()
像这样的东西:
var labelName = "complete-others";
var messageCount = 0;
var label = GmailApp.getUserLabelByName(labelName);
var threads = label.getThreads();
threads.forEach(function(thread) {
messageCount += thread.getMessageCount();
});
spreadsheet.getRange('\'Mails\'!B4').setValue(messageCount);
推荐阅读
- php - Wordpress 主题页脚无法自定义
- python - 来自 MySQL 数据库的数据未显示在 PyQt5 的 QTableWidget 中
- javascript - 我应该为每个属性使用单独的 useState
- php - 对数组(“1:40”,“2:30”,“6:33”)从低到高排序?
- swiftui - 让形状在同一层
- c - 当以下代码运行时会发生什么?
- python - CSV Date Parsing in Pandas
- objective-c - How do I use realm on swift to store array of objects?
- javascript - Prevent XMLHTTPRequest from encoding url
- php - MQTT Cloud - PHP - Web Server Publish Error