API Gmail использует ресурсы Thread
для группировки ответов по электронной почте с исходным сообщением в одну беседу или цепочку. Это позволяет вам извлекать все сообщения в беседе по порядку, что упрощает определение контекста сообщения или уточнение результатов поиска.
Как и сообщения , к тредам также могут быть применены метки. Однако, в отличие от сообщений, темы нельзя создавать, а только удалять. Однако сообщения можно вставлять в ветку.
Содержание
Получение потоков
Потоки предоставляют простой способ получения сообщений в беседе по порядку. Перечислив набор тем, вы можете сгруппировать сообщения по разговорам и предоставить дополнительный контекст. Вы можете получить список потоков с помощью метода threads.list
или получить конкретный поток с помощью threads.get
. Вы также можете фильтровать потоки, используя те же параметры запроса, что и для ресурса Message
. Если какое-либо сообщение в потоке соответствует запросу, этот поток возвращается в результате.
В приведенном ниже примере кода показано, как использовать оба метода в примере, который отображает самые болтливые цепочки в вашем почтовом ящике. Метод threads.list
извлекает все идентификаторы потоков, затем threads.get
извлекает все сообщения в каждом потоке. Для тех, у кого есть 3 или более ответов, мы извлекаем строку Subject
и отображаем непустые ответы, а также количество сообщений в цепочке. Вы также найдете этот пример кода в соответствующем видеоролике DevByte.
Питон
Добавление черновиков и сообщений в темы
Если вы отправляете или переносите сообщения, которые являются ответом на другое электронное письмо или частью разговора, ваше приложение должно добавить это сообщение в связанную цепочку. Это позволяет пользователям Gmail, участвующим в беседе, сохранять сообщение в контексте.
Черновик можно добавить в цепочку при создании , обновлении или отправке черновика сообщения. Вы также можете добавить сообщение в цепочку в рамках вставки или отправки сообщения.
Чтобы стать частью темы, сообщение или черновик должны соответствовать следующим критериям:
- Запрошенный
threadId
должен быть указан вMessage
илиDraft.Message
которое вы предоставляете вместе с вашим запросом. - Заголовки
References
иIn-Reply-To
должны быть установлены в соответствии со стандартом RFC 2822 . - Заголовки
Subject
должны совпадать.
Посмотрите примеры создания черновика или отправки сообщения . В обоих случаях вы просто добавляете ключ threadId
в паре с идентификатором потока в метаданные сообщения, объект message
.