Идентификаторы дубликатов push-уведомлений API Gmail - PullRequest
1 голос
/ 17 апреля 2019

Я использую Gmail push-уведомлений для обработки электронной почты.Когда я получаю уведомление о сообщении от Google, я использую API списка истории с ранее сохраненным historyId и могу видеть новые сообщения, используя messagesAdded.Получив сообщения, я сохраняю последний historyId для следующего запроса.

При тестировании, если я отправляю два почтовых сообщения (с интервалом около 30 секунд) в просматриваемый почтовый ящик, я вижу два сообщения от Google.и когда я вызываю API истории для каждого из уведомлений, я вижу идентификаторы сообщений.Это все хорошо.

Если я повторяю один и тот же тест, но отправляю два почтовых сообщения сразу после друг друга, я получаю два уведомления от Google, но когда я вызываю API истории для первого сообщения, я получаюдва идентификатора сообщения в этом вызове API истории.Когда я вызываю вызов API истории для второго уведомления, я получаю копию последнего идентификатора сообщения.

Как я могу предотвратить повторяющиеся идентификаторы сообщений в этом сценарии?Любая помощь или указатели будут высоко оценены.

Обновлено : Добавлен пример запроса и ответа для второго теста.

enter image description here

1 Ответ

0 голосов
/ 05 мая 2019

Я заметил в ответе API Истории Google historyId, показывающий последние обработанные сообщения.Если я сохраню это значение в качестве следующей начальной точки вместо historyId, отправленного в уведомлении, оно будет устранено из-за дублирования, поскольку во втором запросе больше нет сообщений.Не уверен, что это правильный способ, так как я не храню и не использую historyId, отправленный в уведомлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...