我已经创建了这个脚本:
function myTest() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var label = GmailApp.getUserLabelByName("Label1");
var threads = label.getThreads();
var countMail = 0;
//get first message in first thread
for (var i = 0; i < threads.length; i++) {
var messages=threads[i].getMessages();
countMail = countMail + messages.length;
}
ss.getRange(1,1).setValue(countMail);
}
它运行得近乎完美。在这里,我得到了所有与此踏步连接的eMails (标记为Label1或未标记)。有没有人可以分享一个简单的脚本,我如何计算所有的eMails是“真正”标记的标签。
谢谢
发布于 2019-09-13 18:54:03
试试这个:
function labelMsgs(){
var labels = Gmail.Users.Labels.list("me").labels;
var lblId;
for (var i = 0; i < labels.length; i ++){
if (labels[i].name == "Label1"){
lblId = labels[i].id;
break;
}
}
var optionalArgs = {
"labelIds" : lblId,
"maxResults" : 200
}
var messages = Gmail.Users.Messages.list("me", optionalArgs).messages;
}此方法直接使用Gmail API,为此您需要使用enable Google Advanced Services,它将返回带有"Label1"标签的所有消息的列表。您可以尝试使用maxResults和pageToken来查看更多结果,但这是一般的方法。
https://stackoverflow.com/questions/57920892
复制相似问题