在Google Apps脚本的GmailApp类中通过ThreadID获取多个主题

时间:2014-09-23 20:38:14

标签: google-apps-script gmail

我有一个字符串数组,其中每个值代表一个Gmail Threadid。这看起来像这样:

var threadArray = [threadId1, threadId2, threadId3, threadId4, threadId5];

我想将Gmail标签应用于我的threadids数组中的每个元素,但我目前的方法效率不高,执行时间太长。见下文:

for (var i = 0; i < threadArray.length; i++)
{
    thread = getThreadById(threadArray[i]) // this statement takes too long (several seconds) to execute!!
    thread.addLabel(exampleLabel);
}

将Gmail标签应用于Gmail ThreadIds数组中的每个Gmail主题的最佳方法是什么?

Gmail提供getInboxThreads()这样的功能,可以一次检索多个线程以返回GmailThread [],但我不清楚如何构建自己的GmailThread []纯粹基于线程,而不是整个收件箱。

是否有其他人遇到此问题或找到了解决方法?我在这里发现了类似的未解决问题:https://code.google.com/p/google-apps-script-issues/issues/detail?id=2598

1 个答案:

答案 0 :(得分:0)

花费很长时间来完成这样的任务并不是一个真正的问题,你可以轻松地设法让它在基于定时器触发器的(相对)小束上工作。

我有一个类似的脚本,每晚运行,它运行良好...它工作4分钟,然后等待一直,直到所有线程都被处理。

您只需要存储索引从哪里开始(在scriptProperties中)并测量脚本执行期间的已用时间。