0
所以我有以下代碼:從node.js的客戶發送電子郵件與服務帳戶
var Path = require('path');
var google = require('googleapis');
var gmail = google.gmail('v1');
var key = require(Path.join(__dirname, 'googleConfig.json'));
var oAuthClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/gmail.send'],
null
);
var message = new Buffer(
"Content-Type: text/plain; charset=\"UTF-8\"\n" +
"MIME-Version: 1.0\n" +
"Content-Transfer-Encoding: 7bit\n" +
"To: <some email>\n" +
"From: <some email>\n" +
"Subject: something something lol\n\n" +
"heyheyhey"
).toString('base64').replace(/\+/g, '-').replace(/\//g, '_');
gmail.users.messages.send({
auth: oAuthClient,
userId: '<my own google email?>',
resource: {
raw: message
}
}, function(err, resp) {
console.log('err', err);
console.log('resp', resp);
});
我用的是相同的生成的密鑰,以我的谷歌日曆API,所以服務帳戶是否有效,加工。
我得到以下錯誤:
{ [Error: Bad Request]
code: 400,
errors:
[ { domain: 'global',
reason: 'failedPrecondition',
message: 'Bad Request' } ] }
它是正確的假設,該用戶ID爲我自己的谷歌電子郵件帳戶? 我也嘗試使用key.client_email
和client_id
代替,這是行不通的。
我真的很迷茫:)任何幫助,甚至只是提示如何調試它將是非常棒的。
順便說一句,我沒有激活console.developers