#google-apps-script #gmail-api
#google-apps-script #gmail-api
Вопрос:
Кажется, у меня проблема с GmailApp.getInboxThreads () в скрипте Google apps. Когда я импортирую электронные письма из Gmail, он пропускает некоторые электронные письма, по-видимому, случайным образом. Все электронные письма в этой учетной записи Gmail пересылаются с других учетных записей. Ниже приведен пример кода:
//This gets me the 5th email (correct)
var mail = GmailApp.getInboxThreads()[4].getMessages()[0].getPlainBody();
//This gets me the 7th email (wrong)
var mail = GmailApp.getInboxThreads()[5].getMessages()[0].getPlainBody();
Кто-нибудь знает, что может вызвать это?
Ответ №1:
Потенциальная проблема:
Согласно официальной документации, getInboxThreads():
произойдет сбой, если размер всех потоков слишком велик для обработки системой. Если размер потока неизвестен и потенциально очень велик, пожалуйста, используйте вызов ‘paged’ и укажите диапазоны потоков для извлечения при каждом вызове.
Поэтому это может быть причиной вашей проблемы.
Альтернативное решение:
Вместо этого вы можете использовать getInboxThreads(начальный, максимальный):
var threads = GmailApp.getInboxThreads(0, 50);
//5th email
var mail = threads[4].getMessages()[0].getPlainBody();
//6th email
var mail = threads[5].getMessages()[0].getPlainBody();
Пожалуйста, имейте в виду, что при этом вы получите все электронные письма независимо от их типа (основные, социальные, рекламные).