缺少草稿消息 - javascript Gmail API - 如何构造请求的正文?

时间:2014-09-27 16:56:38

标签: javascript request gmail gmail-api

在最近的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#相关问题的解决方案,但我已经达到了需要橡皮鸭或堆栈溢出的程度。

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

3 个答案:

答案 0 :(得分:0)

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

  

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

答案 1 :(得分:0)

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

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

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

我错过了必要的草稿属性。

答案 2 :(得分:0)

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