【发布时间】:2022-03-03 22:29:33
【问题描述】:
在尝试 POST https://gmail.googleapis.com/gmail/v1/users/${user_id}/drafts 时,为了创建 gmail 草稿,我收到了 Missing draft message 错误提示。
这是发出请求的实际代码:
let userMail = axios.post(`https://gmail.googleapis.com/gmail/v1/users/${user_id}/drafts`,
{
body: {
draft: {
message: {
raw: "Hard Coded mail",
}
}
}
},
{
headers: {
Authorization: `Bearer ${access_token}`,
}
})
console.log(userMail)
console.log(userMail) 显示的是一堆信息,例如:
data: {
error: {
code: 400,
message: 'Missing draft message',
errors: [
{
message: 'Missing draft message',
domain: 'global',
reason: 'invalidArgument'
}
],
status: 'INVALID_ARGUMENT'
}
}
我是否遗漏了请求的 body 中的某些内容,或者语法不正确?
根据这个帖子Missing draft message - javascript Gmail API - how to structure body of the request?,
"请求的正确结构:"
'draft': {
'message': {
'raw': base64EncodedEmail
}
}
PS:我没有使用外部节点模块,保持“原版”
编辑(1):
尝试添加From、To 和Subject 字段:
var message = 'MIME-Version: 1.0\r\n' +
'Content-type: multipart/alternative; boundary=boundaryboundary\r\n\r\n' +
'From: ' + from + "\r\n" +
'To: ' + to + "\r\n" +
'Subject: ' + subject + "\r\n" +
'--boundaryboundary\r\n' +
'Content-type: text/plain; charset=UTF-8\r\n' +
mailContent + "\r\n\r\n" +
'--boundaryboundary--';
【问题讨论】:
标签: axios request gmail gmail-api