gpt4 book ai didi

email - 通过 Gmail API (Javascript) 发送电子邮件

转载 作者:行者123 更新时间:2023-12-05 02:15:23 30 4
gpt4 key购买 nike

我正在尝试通过 JS Gmail API 发送邮件的 hello world。我已根据 this 正确授权(可以列出标签) .

我正在使用以下代码,在浏览器中运行:

const message =
"From: my.email@gmail.com\r\n" +
"To: my.email@gmail.com\r\n" +
"Subject: As basic as it gets\r\n\r\n" +
"This is the plain text body of the message. Note the blank line between the header information and the body of the message.";


// The body needs to be base64url encoded.
const encodedMessage = btoa(message)

const reallyEncodedMessage = encodedMessage.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '')

gapi.client.gmail.users.messages.send({
userId: 'me',
requestBody: {
// same response with any of these
raw: reallyEncodedMessage
// raw: encodedMessage
// raw: message
}
}).then(function () { console.log("done!")});

这给出了 HTTP 400 响应:

{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidArgument",
"message": "'raw' RFC822 payload message string or uploading message via /upload/* URL required"
}
],
"code": 400,
"message": "'raw' RFC822 payload message string or uploading message via /upload/* URL required"
}
}

这是使用 https://apis.google.com/js/api.js 提供的 JS API。 RFC822 示例取自 MSDNelsewhere .据我所知,对 RFC822 消息进行 Web 安全 base64 编码是此 API 的标准。 Firefox 和 Chrome 中出现同样的错误。

我哪里错了?

最佳答案

我认为原始数据是正确的。那么这个修改怎么样呢?

发件人:

requestBody: {
// same response with any of these
raw: reallyEncodedMessage
// raw: encodedMessage
// raw: message
}

收件人:

resource: { // Modified
// same response with any of these
raw: reallyEncodedMessage
// raw: encodedMessage
// raw: message
}

如果这不起作用,请告诉我。我想考虑其他解决方案。

关于email - 通过 Gmail API (Javascript) 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51900190/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com