在最近的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方法的对象的提示。
答案 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中运行良好之外,它是相似的。