【问题标题】:Missing draft message - javascript Gmail API - how to structure body of the request?缺少草稿消息 - javascript Gmail API - 如何构造请求的正文?
【发布时间】:2014-11-22 11:53:45
【问题描述】:

在最近的 Google IO 会议上宣布了新的 Gmail API。客户端库缺少示例和文档,考虑到时间很短,这是可以理解的。

更新:原始问题中并不清楚 - 我已经尝试将整个消息编码为 Base64 字符串。

我正在尝试创建新的草稿消息:

var request = gapi.client.gmail.users.drafts.create({
    'message' : {
      'raw' :  Base64.encode("To: someguy@example.com\r\nFrom: myself@example.com\r\nSubject: my subject\r\n\r\nBody goes here")
      // 'raw' : "VG86IHNvbWVndXlAZXhhbXBsZS5jb20KRnJvbTogbXlzZWxmQGV4YW1wbGUuY29tClN1YmplY3Q6IG15IHN1YmplY3QKCkJvZHkgZ29lcyBoZXJl"
      // 'raw' : "From: me@example.com\nTo:you@example.com\nSubject:Ignore\n\nTest message\n"

    }
});

request.execute(function(response) {

});

您能否为我提供正确的语法来做到这一点?

(Base64.encode 来自 http://www.webtoolkit.info/javascript-base64.html - 尝试使用纯文本、即时编码版本和其他问题的硬编码值)


相关问题:

方便的链接仅供参考:


所以我试图通过重新创建 JSON 结构来解决 Ruby 和 C# 的相关问题,但我已经到了需要橡皮鸭或 Stack Overflow 的地步。

提前感谢您提供有关如何构造传递给 API 方法的对象的提示。

【问题讨论】:

标签: javascript request gmail gmail-api


【解决方案1】:

虽然@rds 的答案在技术上是正确的:“base64 编码完整消息”,但完全有效的答案如下......请求的正确结构:

'draft': {
  'message': {
    'raw': base64EncodedEmail
  }
}

来源:https://developers.google.com/gmail/api/v1/reference/users/drafts/create(向下滚动然后从下拉菜单中选择 JavaScript)

我错过了基本的 draft 属性。

【讨论】:

  • 关闭,但截至 11/17 正确格式为:'resource': { 'message': { 'raw': }},而不是 'draft'
【解决方案2】:

由于问题相同,the answer 将相同:

'raw' 应包含整个 (RFC822) 电子邮件,包括正文和标题。

【讨论】:

    【解决方案3】:

    诀窍在于它不仅仅是普通的 base64 编码,它是 WEB SAFE(又名 URL SAFE)base64 编码。它是相似的,只是字母表中的两个字符不同,以确保整个 blob 在 URL 和 javascript/json 中运行良好。

    【讨论】:

      猜你喜欢
      • 2014-08-30
      • 2017-11-29
      • 1970-01-01
      • 2017-06-17
      • 2017-01-19
      • 2016-01-12
      • 2019-04-25
      • 1970-01-01
      • 2020-04-24
      相关资源
      最近更新 更多