用于发送带附件的电子邮件的GMAIL API
我正在致力于一个能够读取包含图像url列表的CSV的javascript客户端。用于发送带附件的电子邮件的GMAIL API
我能够通过jquery-csv读取csv并在html5画布中绘制每个图像。
下一步是为每个图像应用一个文本图层并使用gmail api通过电子邮件发送图像。
所以我的困惑是找到一个例子,告诉我如何拍摄一张画布并将其附加到只使用JavaScript的电子邮件。
是否有我根据multipart gmail指导原则构建一个json,并将其作为POST body发送到指定位置?
你能给我举个例子吗?
// Get the canvas from the DOM and turn it into base64-encoded png data.
var canvas = document.getElementById("canvas");
var dataUrl = canvas.toDataURL();
// The relevant data is after 'base64,'.
var pngData = dataUrl.split('base64,')[1];
// Put the data in a regular multipart message with some text.
var mail = [
'Content-Type: multipart/mixed; boundary="foo_bar_baz"\r\n',
'MIME-Version: 1.0\r\n',
'From: [email protected]\r\n',
'To: [email protected]\r\n',
'Subject: Subject Text\r\n\r\n',
'--foo_bar_baz\r\n',
'Content-Type: text/plain; charset="UTF-8"\r\n',
'MIME-Version: 1.0\r\n',
'Content-Transfer-Encoding: 7bit\r\n\r\n',
'The actual message text goes here\r\n\r\n',
'--foo_bar_baz\r\n',
'Content-Type: image/png\r\n',
'MIME-Version: 1.0\r\n',
'Content-Transfer-Encoding: base64\r\n',
'Content-Disposition: attachment; filename="example.png"\r\n\r\n',
pngData, '\r\n\r\n',
'--foo_bar_baz--'
].join('');
// Send the mail!
$.ajax({
type: "POST",
url: "https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=multipart",
contentType: "message/rfc822",
beforeSend: function(xhr, settings) {
xhr.setRequestHeader('Authorization','Bearer {ACCESS_TOKEN}');
},
data: mail
});
它给了我这个错误:{ “错误”:{ “错误”: { “域”: “全局”, “理由”: “authError”, “消息”: “无效的凭证”, “的locationType”: “首标”, “位置”: “授权” } ], “代码”:401, “消息”: “无效凭证” } }谷歌显影剂控制台上我创建新的客户端ID与Web应用程序specifingn JavaScript位置来源:http:// localhost:8080 ...我的项目是一个tomcat实例上的JavaScript页面。奇怪的是,每次我从同一个应用程序发出请求时,访问令牌都会发生更改。 – Alex
@Alex授权Gmail v1范围[此处](https://developers.google.com/oauthplayground/),并尝试从中获得的令牌。这应该作为一个测试。 – Tholle
我创建了测试访问令牌并从您建议我的页面发送请求。从那里一切正常。如果我在javascript应用程序中使用相同的标记,它会使我产生与我以前的评论中相同的错误。 401未经授权的无效凭证。有什么处理我的客户ID创建? – Alex
是否要发送画布为例如一个PNG图像? – Tholle
是的......可以在飞行中完成吗?或者......但主要...... javascrip gmail api使用的是什么? – Alex