我正在通过以下代码检索电子邮件,但我只得到255个字符而不是整个字符。
有什么办法可以取消此限制?
const api = client
.api("/me/mailfolders/inbox/messages")
.top(10)
.select("subject,from,receivedDateTime,isRead,bodyPreview")
.orderby("receivedDateTime DESC")
.get((err, res) => {
if (err) {
console.log("getMessages returned an error: " + err.message);
} else {
console.log("Mails are retrieving...");
res.value.forEach(function(message) {
console.log(message.bodyPreview);
});
}
});
最佳答案
Muthurathinam是正确的,但是为了清楚起见和将来的用途,我添加了更深入的答案。
您的代码当前仅请求以下属性:subject
from
receivedDateTime
isRead
bodyPreview
之所以只接收255个字符,是因为您要请求bodyPreview
。查看文档,bodyPreview
的定义如下:
bodyPreview
-String
-邮件正文的前255个字符。它是文本格式。
您真正要寻找的是body
属性。 body
属性返回一个包含两个属性的itemBody
对象:content
-项目的内容。contentType
-内容的类型。可能的值为Text
和HTML
。
这意味着您将需要使用console.log(message.bodyPreview)
代替console.log(message.body.content)
。
这是重构为使用body
的示例代码:
const api = client
.api("/me/mailfolders/inbox/messages")
.top(10)
.select("subject,from,receivedDateTime,isRead,body")
.orderby("receivedDateTime DESC")
.get((err, res) => {
if (err) {
console.log("getMessages returned an error: " + err.message);
} else {
console.log("Mails are retrieving...");
res.value.forEach(function(message) {
console.log(message.body.content);
});
}
});