Я пытаюсь прочитать ВСЕ электронную почту в моей учетной записи gmail - входящие, отправленные, черновики, корзины, электронные письма с ярлыками, архив и т. Д. Я мог бы жить без мусора, но Я хочу все остальное.Как читать все письма в gmail с помощью скрипта Google Apps
(все приведенные ниже примеры использования попытки {} поймать {}, чтобы избежать ошибок с пустыми этикетки и т.д.)
Я пытался
for (var i=StartLabel; i<=EndLabel; i++)
{
var label = labels[i].getName();
// get all messages, then join them into a single dimension array
var messages = GmailApp.getMessagesForThreads(GmailApp.search("label:" + label))
.reduce(function(a, b) {return a.concat(b);});
CountByLabels += messages.length;
}
Это дает мне все, что в ярлыках (я думаю) но не другие.
Я попробовал другие вещи, чтобы получить почтовый ящик (в сочетании с выше) или все электронные письма
var messages = GmailApp.getMessagesForThreads(GmailApp.getInboxThreads()).reduce(function(a, b) {return a.concat(b);});
CountInbox += messages.length;
, но я только получить около 549 результатов (GMail показывает 5,478). Если я добавлю результаты из getPriorityInboxThreads, я получу 1,829 результатов.
Я попытался
// get all messages, then join them into a single dimension array
var messages = GmailApp.getMessagesForThreads(GmailApp.search("(is:unread OR is:read) in:anywhere")).reduce(function(a, b) {return a.concat(b);});
CountByLabels += messages.length;
Я получаю 598 результатов. Я пробовал различные условия поиска в коде непосредственно выше, например:
является: непрочитанные = 528 результатами
является: прочитать = 1,037 результатов
является: читать или это: непрочитанные = 599 результатов
Ни один из них не дал правильный номер или даже закрыл, и, кстати, если я попробую эти поисковые термины непосредственно в gmail, я получаю совершенно другой и намного более высокий результат для каждого - несколько тысяч или «много».
Я не думаю, что это связано с How to use Google App Scripts to retrieve Gmail emails in a customised way?, поскольку возвращаемые числа не являются круглыми числами (например, 500).
Я предполагаю, что я могу использовать getSpamThreads, getStarredThreads, getTrashThreads, getDraftMessages, чтобы получить соответствующие папки, но пока не понял, почему я получаю только электронные письма из папки «Входящие», я не доверяю этим, чтобы дать мне все.
Может ли кто-нибудь помочь?
быть ясным: Хотя примеры показывают подсчет количества сообщений (чека реальности я использую для остальной части вопроса), это НЕ то, что мне нужно - как сказано, я пытаюсь ПРОЧИТАТЬ их - я хочу получить доступ к различным данным о них один за другим. –
Я должен добавить, что я планирую перейти к методу getInboxThreads (начало, максимальный) коллекции сообщений (для getInboxThreads, search и т. Д.), Как только я получу это для правильной работы. –