Я пытаюсь создать логику, которая извлекает из Gmail последние уникальные темы, используя Gmail API.Для этого я использую поисковый запрос, который выглядит следующим образом:
subject:(-"***") (label:sent OR label:inbox)
И он отлично работает в панели инструментов электронной почты Google.Для моей приборной панели это показывает другой результат.Я использую методы listThreads и listMessages .
Для listThreads если тема началась давно, я не увижу эту тему в последних сообщениях, если яили другой человек продолжит эту тему (например, ответит по электронной почте), поэтому мне придется искать ее на следующих страницах.Однако на информационной панели Google он будет отображаться на первой странице.
Для listMessages темы будут отображаться в порядке следования, но если в этой теме будет 2 или более сообщений, Gmail API вернет 2 или болеедубликаты.
Есть ли способ, которым я могу предварительно упорядочить сортировку по дате последнего сообщения, когда я использую метод listThreads .Или укажите мой поисковый запрос для возврата сообщений с уникальным threadId для listMessages .Или есть другой способ реализовать мою логику?
ps Если я использую in:inbox
в поисковом запросе для метода listThreads , я получаю более точные результаты, но нет входящих сообщений, которыеЖелательно.
Вот пример изображения для метода listThreads:
А для ListMessages:
{
"id": "163d68e0ac012e74",
"threadId": "163d67b14457c9bd"
},
{
"id": "163d688dbe1c6a5e",
"threadId": "163d67b14457c9bd"
},
{
"id": "163d68743cb38393",
"threadId": "163d67b14457c9bd"
},
{
"id": "163d684f32417253",
"threadId": "163d67b14457c9bd"
},
{
"id": "163d67b14457c9bd",
"threadId": "163d67b14457c9bd"
},
Как вы можете видеть, онииметь такой же ThreadId