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