本文档介绍了如何使用 Gmail API 创建、更新和发送电子邮件草稿。
电子邮件草稿是指应用了 DRAFT 系统标签的未发送邮件。草稿中的消息一经创建便无法修改,但可以替换。从这个意义上讲,drafts 资源是一个容器,可提供稳定的 ID,因为底层消息 ID 会在每次替换消息时发生变化。
草稿中的 messages 资源与其他邮件的行为类似,但存在以下差异:
- 草稿邮件不能有除
DRAFT系统标签以外的任何标签。 - 发送草稿后,系统会自动删除该草稿,并创建一个具有更新 ID 和
SENT系统标签的新邮件。此消息在drafts.send方法响应中返回。
创建草稿
您的应用可以使用 drafts.create 方法创建草稿。如需创建草稿,请执行以下操作:
- 创建符合 RFC 2822 的 MIME 消息。
- 将消息转换为 base64网址 编码的字符串。
- 调用
drafts.create方法,并将messages.raw字段的值设置为编码后的字符串。
以下代码示例演示了此过程:
Java
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
替换以下内容:
- ACCESS_TOKEN:授予 API 访问权限的访问令牌。
- MESSAGE:以 base64网址 编码的 RFC 2822 格式的 MIME 消息。
更新草稿
与创建草稿类似,如需更新草稿,您必须在请求正文中提供 drafts 资源,并将 messages.raw 字段设置为包含 MIME 消息的 base64网址 编码字符串。由于无法更新消息,因此草稿中包含的消息会被销毁,并替换为更新请求中提供的新 MIME 消息。
您可以通过调用 drafts.get 方法并使用查询参数 format=raw 来检索草稿中包含的当前 MIME 消息。
如需了解详情,请参阅 drafts.update 方法。
发送草稿
发送草稿时,您可以按原样发送,也可以在发送请求中提供更新。
如需在发送时更新草稿,请在 drafts.send 方法的请求正文中提供 drafts 资源。在 drafts 资源中,您必须指定要发送的草稿的草稿 id,并将 messages.raw 字段设置为编码为 base64网址 字符串的新 MIME 消息。
如需了解如何发送 Gmail 邮件,请参阅发送邮件。