【发布时间】:2015-10-04 11:33:43
【问题描述】:
我编写了一个脚本,我想在其中提取标签为shc 的所有草稿消息。
代码:
function getDraftsWithLabel_shc() {
Logger.clear();
Logger.log("fn start..");
var drafts = GmailApp.getDraftMessages(); //getUserLabelByName(ulables[x].getName()).
var label = GmailApp.getUserLabelByName("shc");
Logger.log(label);
var threads = label.getThreads();
Logger.log("LBL NAME ="+label.getName());
Logger.log("THREAD ="+threads.length);
for (var i = 0; i < threads.length; i++) {
var message=threads[i].getMessages();
Logger.log(" thread ID = "+threads[i].getId());
if(message.length<0)
{
for(m=0;m<message.length;m++){
var isD=message[m].isDraft();
Logger.log("is Draft ="+isD);
if(isD)
{
Logger.log(message[m].getSubject()+" = "+message[m].getTo()+" = "+message[m].getDate());
}
}
}
else
{
Logger.log("No mesage");
}
}
Logger.log("fn Ends..");
}
在代码中,我试图获取标签名称,然后获取相应的线程。然后循环线程并使用getMessages() 检查当前是否为isDraft,然后根据条件获取所有其他详细信息。
首先我无法收到消息。其次,是否有任何有效的方法可以直接获取具有特定标签的所有 Draft 线程,因为在所有线程上循环会花费很多时间
日志截图:
【问题讨论】:
标签: google-apps-script google-sheets google-spreadsheet-api gmail-api