I noticed the following limitation when using GmailApp
in Google Apps Script:
var threads = GmailApp.search("to:[email protected]");
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
How would you make a job (such as extracting email adresses and adding them to a list) on more than 500 or 250 threads?
Would you do it manually by splitting by dates (not very beautiful but probably working)?
You could loop over the result with a max
of e.g. 100 and stop when the length of the resulting threads
is less than max
:
var max = 100;
var offset = 0;
var searchThreads = [];
while (true) {
var threads = GmailApp.search("to:[email protected]", offset, max);
searchThreads = searchThreads.concat(threads);
if (threads.length < max) {
break;
}
offset += max;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With