通过O365 Rest API检索标记的电子邮件/消息

时间:2017-02-05 21:12:55

标签: rest outlook office365 outlook-restapi

有谁知道如何使用Outlook REST API搜索用户标记的电子邮件?

此处的解决方案:Flagged messages via Office 365 REST API?似乎不再起作用。我试过它的各种版本没有运气。该解决方案确实返回没有错误,但我得到的只是用户收件箱中的前10条消息。

2 个答案:

答案 0 :(得分:2)

AidaNow对引用的链接是正确的,它不是过滤器。要过滤标记的邮件,建议的方法是使用API​​的beta版本,该版本添加了Flag属性。然后你可以像这样过滤:

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messages?$filter=Flag/FlagStatus eq 'Flagged'

答案 1 :(得分:1)

referenced link中的解决方案是在使用过滤器获取消息时扩展消息的flag属性,而不是使用flag属性过滤消息。例如,在您的情况下,您将在响应中收到10条消息,并且每条消息可能有也可能没有< SingleValueExtendedProperties'财产,这是规则:

if(message.SingleValueExtendedProperties == undefined){
 console.log(email has not been flagged/unflagged)
}else if(message.SingleValueExtendedProperties[0].Value == 2){
 console.log('email is flagged')
}else if(message.SingleValueExtendedProperties[0].Value == 1){
 console.log('email has been unflagged')
}

回到你关于使用flag属性过滤的问题,我没有看到任何api调用,但如果我发现任何api,我会更新。