【发布时间】:2017-01-22 11:28:57
【问题描述】:
我正在尝试使用 node.js 中的 google api 发送电子邮件
var sendmsg = function(auth) {
var to = 'foo@gmail.com',
subject = 'Hello World',
content = 'send a Gmail.'
var email = "To: "+ to +"\r\n"+
"Subject: "+subject+"\r\n"+
content;
var base64EncodedEmail = new Buffer(email).toString('base64');
var gmail = google.gmail('v1');
var request = gmail.users.messages.send({
'userId': auth,
'message': {
'raw': base64EncodedEmail
}
}, function (err, result) {
console.log('result'+result);
});
};
我从谷歌文档中的快速入门示例中获取了这个示例,该示例读取了我的电子邮件帐户中的标签(效果很好)。我只是将范围更改为:
var SCOPES = ['https://mail.google.com/',
'https://www.googleapis.com/auth/gmail.modify',
'https://www.googleapis.com/auth/gmail.compose',
'https://www.googleapis.com/auth/gmail.send'];
并创建了 var = email
var to = 'foo@gmail.com',
subject = 'Hello World',
content = 'send a Gmail.'
var email = "To: "+ to +"\r\n"+
"Subject: "+subject+"\r\n"+
content;
然后我只是尝试使用 gmail.users.messages.send 方法.. 但是运行结果时返回以下内容:
<HTML>
<HEAD>
<TITLE>Bad Request</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Bad Request</H1>
<H2>Error 400</H2>
</BODY>
</HTML>
知道我错过了什么吗?我认为我创建 var 'email' 的方式是错误的,但我不确定它应该如何
【问题讨论】:
-
链接到你使用的包?
-
我正在使用这两个:“google-auth-library”:“^0.9.8”“googleapis”:“^13.0.0”
标签: javascript node.js gmail-api