Черновики представляют собой неотправленные сообщения с примененной системной меткой DRAFT
. Сообщение, содержащееся в черновике, нельзя редактировать после создания, но его можно заменить. В этом смысле черновик ресурса — это просто контейнер, который предоставляет стабильный идентификатор, поскольку идентификаторы базового сообщения изменяются каждый раз при замене сообщения.
Ресурсы сообщения внутри черновика ведут себя аналогично другим сообщениям, за исключением следующих отличий:
- Черновики сообщений не могут иметь никакой другой метки, кроме системной метки
DRAFT
. - При отправке черновика он автоматически удаляется и создается новое сообщение с обновленным идентификатором и системной меткой
SENT
. Это сообщение возвращается в ответеdrafts.send
.
Содержание
Создание черновиков сообщений
Ваше приложение может создавать черновики с помощью метода Drafts.create . Общий процесс заключается в следующем:
- Создайте сообщение MIME, соответствующее RFC 2822 .
- Преобразуйте сообщение в строку в кодировке Base64url.
- Создайте черновик , задав в поле
drafts.message.raw
значение закодированной строки.
Следующие примеры кода демонстрируют этот процесс.
Ява
Питон
Обновление черновиков
Подобно созданию черновика, для обновления черновика вы должны предоставить ресурс Draft
в теле вашего запроса с полем draft.message.raw
, установленным в строку в кодировке Base64url, содержащую сообщение MIME. Поскольку сообщения не могут быть обновлены, сообщение, содержащееся в черновике, уничтожается и заменяется новым сообщением MIME, указанным в запросе на обновление.
Вы можете получить текущее MIME-сообщение, содержащееся в черновике, вызвав drafts.get
с параметром format=raw
.
Для получения дополнительной информации см. drafts.update
.
Отправка черновиков
При отправке черновика вы можете отправить сообщение как есть или с обновленным сообщением. Если вы обновляете черновик содержимого новым сообщением, укажите ресурс Draft
в теле запроса drafts.send
; установите draft.id
черновика, который нужно отправить; и установите в поле draft.message.raw
новое сообщение MIME, закодированное как строка в кодировке base64url. Для получения дополнительной информации см. drafts.send
.