api - Google REST API - RFC 2822 格式和 base64url 编码字符串中的消息

标签 api rest gmail-api

我尝试使用 try it 的 - Google REST API - Users.messages: send

有一个必需的参数 - raw -

The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.

我检查了 RFC 2822 格式,似乎它应该显示为 sample here ,然后我用这个编码器将其编码为 base64URL 并将其粘贴到 try itraw 字段中,我得到 - ByteString 的值无效:http://ostermiller.org/calc/encode.html

你能给我提供一个正确的RFC 2822格式及其相应的base64URL吗?它可以在上面的try it中工作?

最佳答案

示例邮件可能如下所示:

From: sender@gmail.com
To: receiver@gmail.com
Subject: Subject Text

The message text goes here

在浏览器中打开开发者工具,对其进行 Base64 编码,并将所有 + 替换为 -,将所有 / 替换为 _,并删除尾随的 = 以使其 URL 安全:

btoa(
  "From: sender@gmail.com\r\n" +
  "To: receiver@gmail.com\r\n" +
  "Subject: Subject Text\r\n\r\n" +

  "The message text goes here"
).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');

这将为您提供以下数据:

RnJvbTogc2VuZGVyQGdtYWlsLmNvbQ0KVG86IHJlY2VpdmVyQGdtYWlsLmNvbQ0KU3ViamVjdDogU3ViamVjdCBUZXh0DQoNClRoZSBtZXNzYWdlIHRleHQgZ29lcyBoZXJl

使用上面的这个字符串作为 API Explorer 中的 raw 参数发送邮件。

关于api - Google REST API - RFC 2822 格式和 base64url 编码字符串中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29119350/

相关文章:

REST API - 如何处理 PUT 方法中的可选参数? PATCH 方法的实现有什么不同

api - 我应该使用什么规范来记录 REST API?

jquery - 通过 API 添加标签到 tumblr 帖子

php - 是否有通过 API Thing 进行 YouTube 直播

api - 如何通过 Apps Script & Drive SDK 创建新的脚本文件

java - 在 REST 服务中实现 SAML 的最佳实践

google-api - 如果用户登录多个帐户,如何在给定线程 ID 的情况下可靠地链接到 Gmail 对话?

ios - 如何使用 gmail Api iOS 显示完整的邮件详细信息

Gmail 添加 SENT 或 DRAFT 标签

Django Rest框架api权限