使用 Google Apps 脚本在 GmailApp 中限制 250 / 500 个线程
Posted
技术标签:
【中文标题】使用 Google Apps 脚本在 GmailApp 中限制 250 / 500 个线程【英文标题】:250 / 500 threads limit in GmailApp with Google Apps Script 【发布时间】:2018-02-16 04:16:09 【问题描述】:在 Google Apps 脚本中使用 GmailApp
时,我注意到以下限制:
var threads = GmailApp.search("to:test@example.com");
Logger.log(threads.length); // 250 max
var threads = GmailApp.search("label:mylabel");
Logger.log(threads.length); // 500 max
var label = GmailApp.getUserLabelByName('mylabel');
var threads2 = label.getThreads();
Logger.log(threads2.length); // 500 max
您将如何在超过 500 或 250 个线程上完成工作(例如提取电子邮件地址并将其添加到列表中)?
您会通过按日期拆分来手动完成吗(不是很漂亮但可能有效)?
【问题讨论】:
【参考方案1】:您可以使用 max
循环遍历结果,例如100 并在生成的threads
的长度小于max
时停止:
var max = 100;
var offset = 0;
var searchThreads = [];
while (true)
var threads = GmailApp.search("to:test@example.com", offset, max);
searchThreads = searchThreads.concat(threads);
if (threads.length < max)
break;
offset += max;
【讨论】:
哇,我仔细检查了一遍,并在一个标签上进行了我之前的测试... 恰好 250个线程,所以很混乱!真幸运!现在使用 600 多个线程标签进行测试,您的代码可以正常工作! @Basj 哈哈,真不幸。很高兴你明白了。以上是关于使用 Google Apps 脚本在 GmailApp 中限制 250 / 500 个线程的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google Apps 脚本在 Google 表格中创建新表格
在 Google Apps 脚本中使用 Mandrill API
在 Google Apps 脚本中使用 BigQuery 连接到 Google 电子表格
使用 Google Apps 脚本在 Blogger 中创建帖子