別の古いグループの投稿から取得した、次のGoogleAppsスクリプトを機能させようとしています。基本的には、getThreads(n、m)が呼び出されるところまで機能しています。戻ってくるエラーコードは次のとおりです。
TypeError:nullのメソッド「addToThreads」を呼び出すことはできません。
getThreads()関数をデバッグする簡単な方法はありますか?目的は、ラベルをEVERNOTEからScripts/Forwardに変更することです。
// Set up multiple labels/sub-labels and add one or more email addresses
function forwardEmails() {
forwardThreads("EVERNOTE", "username@m.evernote.com", "@Filtered Email Archive");
// forwardThreads("Forward/MoreItems", "username1@gmail.com, username2@gmail.com", "MORE INFO");
}
function forwardThreads(label, addr, subjSuffix) {
var maxSubjLength = 250;
var applylabel = GmailApp.getUserLabelByName("Scripts/Forward");
// Send individual and threaded emails.
var msgs, msg, i, j, subject, options, labels, page;
labels = GmailApp.getUserLabelByName(label)
var threads = labels.getThreads()
for (i=0; i < threads.length; i++) {
msgs = threads[i].getMessages();
for (j=0; j < msgs.length; j++) {
msg = msgs[j];
subject = msg.getSubject();
if (subject.length + subjSuffix.length > maxSubjLength) {
subject = subject.substring(0, maxSubjLength - subjSuffix.length);
}
options = { htmlBody: msg.getBody(), attachments : msg.getAttachments() };
GmailApp.sendEmail(addr, subject +" "+ subjSuffix, msg.getBody(), options);
}
}
while(!page || page.length == 100) {
page = labels.getThreads(0, 100);
// Apply new label; move the thread out of other label
applylabel.addToThreads(page); // ***** Failing on this line - assume page is NULL
labels.removeFromThreads(page);
}
}