I have 58,000 old emails in my Gmail account, and I think that I need to get rid of them. GAS is my best bet. I want to get all the emails that: 1) Are more than X days old, AND 2) Have no user labels, and move them all to trash. I know that Gmail will “choke” on thousands of messages, so I’d like to chew through the selected emails in batches of 100. I figured that I wouldn’t need to put logic in my script to create each batch, just return 100 through a limited query and run the script more frequently.
So, here’s what I put together:
function cleanGmail() {
var threads = GmailApp.search('older_than:7d has:nouserlabels', 10, 10);
GmailApp.moveThreadToTrash(threads);
Except that I’m getting an error (and obviously, no messages are moved). Here’s what I get when I run my script:
Notice
Execution started
Error
Exception: The parameters (number[]) don't match the method signature for GmailApp.moveThreadToTrash. @ Code.gs4
I have to confess that I really don’t know what GAS is trying to tell me. I went back in to the GAS documentation, but it didn’t help me too much. Does anyone have any ideas about what’s going on? Better yet, how can I fix this?