2015-06-29 3 views
0

Я читаю письма с использованием API Gmail, где я мог бы успешно загружать письма в свою систему. Идея состоит в том, чтобы перемещаться по всем меткам и загружать письма, но это приводит к дублированию почтовой загрузки, поскольку одно письмо может принадлежать к другой метке. Я попытался найти ярлык $ Все, чтобы получить уникальные письма, но я думаю, что All Mail Label не поддерживается в последнем API Gmail. Есть ли способ читать уникальные письма в gmail?Чтение уникальных писем с использованием gmail API

+0

Если вы хотите загрузить все письма, почему вы их фильтруете по метке? – ND003

+0

Я хочу загрузить все уникальные письма. –

+1

В этом случае вам необходимо заполнить список сообщений. Не фильтруйте ни одной меткой, и вы должны получить список уникальных сообщений. – ND003

ответ

0

Синхронизация почтового ящика может быть сделано с помощью синхронизации Gmail руководство: Метод

https://developers.google.com/gmail/api/guides/sync

Использование history.list() из API Gmail с ярлыком ID фильтра и проверьте раздел '' messagesAdded для идентификаторов сообщений. Вы не получите тело сообщения, только идентификаторы, а затем должны вызвать message.get() с принятыми идентификаторами сообщений, чтобы получить тело сообщения.

Если сообщение имеет несколько ярлыков, history.list() предоставит вам сообщения, полученные непосредственно на конкретном ярлыке, поэтому вы не получите одно и то же сообщение дважды, если вы вызываете history.list() с разными идентификаторами ярлыков.

Вы также можете избежать дублирования сообщений, обратившись к ним в своем приложении, сохраняя каждый идентификатор сообщения в хранилище кэш-памяти, например memcache или в хэш-таблице в памяти, чтобы избежать обработки повторяющихся сообщений.

Смежные вопросы