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

问题描述:

有谁知道如何使用Outlook REST API搜索用户标记的电子邮件?通过O365 Rest API检索已标记的电子邮件/消息

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

referenced link中的解决方案是关于在使用过滤器获取消息时扩展消息的标志属性,而不是使用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') 
} 

回到你的问题有关标志使用属性过滤,我还没有看到任何api电话,但如果我找到了,我会更新我的答案。

AidaNow对引用的链接是正确的,它不是一个过滤器。要过滤标记的消息,推荐的方法是使用API​​的beta版本,该版本添加了Flag属性。然后你可以这样过滤:

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