【发布时间】:2020-10-12 20:06:06
【问题描述】:
好的,因此使用此代码,我可以获取来自电子邮件的实际邮件内容,但我想要的是我也想获取消息和附件。可以做些什么来列出附件并稍后提供下载附件 gmail api 的选项。
var ifrm = document.getElementById("iframe").contentWindow.document;
ifrm.body.innerHTML = getMessageBody(message.payload);
};
let getMessageBody = (message) => {
var encodedBody = "";
if (typeof message.parts === "undefined") {
encodedBody = message.body.data;
} else {
encodedBody = getHTMLPart(message.parts);
}
return Base64.decode(encodedBody);
};
let getHTMLPart = (arr) => {
for (var x = 0; x <= arr.length; x++) {
if (typeof arr[x].parts === "undefined") {
if (arr[x].mimeType === "text/html") {
return arr[x].body.data;
}
} else {
return getHTMLPart(arr[x].parts);
}
}
return "";
};
点击消息时的 Gmail API。
getOneMessage = (messageId) => {
return window.gapi.client.gmail.users.messages
.get({
userId: "me",
id: messageId,
})
.then(
(response) => {
this.setState({
message: response.result,
});
},
(err) => {
console.error("getMessage error", err);
}
);
};
handleMessageClick = (e) => {
const messageId = e.currentTarget.getAttribute("id");
this.getOneMessage(messageId);
【问题讨论】:
-
强烈建议你不要尝试自己做,使用为你包装了api的库
-
请在脚本中包含您如何使用 gmail-api 来获取邮件正文。
-
我已经用 Gmail api 更新了这个问题。
标签: javascript reactjs gmail-api email-attachments