用于在Node.js中发送邮件的Gmail API

用于在Node.js中发送邮件的Gmail API,第1张

用于在Node.js中发送邮件的Gmail API

好的,所以我发现了问题。

问题1:
在遵循Node.js快速入门指南的同时,该教程中的示例

var SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'];

当我得到的时候

.json
,看起来像:

{    "access_token": "xxx_a_long_secret_string_i_hided_xxx",    "token_type": "Bearer",    "refresh_token": "xxx_a_token_i_hided_xxx",    "expiry_date": 1451721044161}

产生的那些标记 考虑

auth/gmail.readonly
教程代码中的范围。

所以我删除了第一个

.json
,从我的最终作用域数组中添加了作用域(我在问题中发帖了),然后再次运行了教程设置,得到了一个新令牌。

问题二

在传递给API的对象中,我正在发送:

{    auth: auth,    userId: 'me',    message: {        raw: raw    }}

但这是错误的,

message
应该调用key
resource


最终设置:

这是我添加到教程代码中的内容:

function makeBody(to, from, subject, message) {    var str = ["Content-Type: text/plain; charset="UTF-8"n",        "MIME-Version: 1.0n",        "Content-Transfer-Encoding: 7bitn",        "to: ", to, "n",        "from: ", from, "n",        "subject: ", subject, "nn",        message    ].join('');    var enpredMail = new Buffer(str).toString("base64").replace(/+/g, '-').replace(///g, '_');        return enpredMail;}function sendMessage(auth) {    var raw = makeBody('myrealemail@gmail.com', 'myrealemail@gmail.com', 'test subject', 'test message');    gmail.users.messages.send({        auth: auth,        userId: 'me',        resource: { raw: raw        }    }, function(err, response) {        res.send(err || response)    });}

并使用以下命令调用所有内容:

fs.readFile(secretlocation, function processClientSecrets(err, content) {    if (err) {        console.log('Error loading client secret file: ' + err);        return;    }    // Authorize a client with the loaded credentials, then call the    // Gmail API.    authorize(JSON.parse(content), sendMessage);});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5163671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存