我正在构建一个.NET Core WEB API,它用作使用Microsoft Graph SDK的Outlook消息和日历上的自动化层。要求之一是确定已回复或转发了哪些消息。
我还不清楚如何在使用Graph Explorer “我的邮件”示例请求的结果时确定如何转发或回复电子邮件。
该回答指出该ConversationId
属性保持不变(的确如此),唯一的指示是在主题之前加上“ FW:”或“ RE:”。同样在Message文档中,我似乎找不到找到正确,可靠的方法来识别它们。
谁能告诉我该怎么做?
如果您在收件箱中查看邮件,并且想知道邮件客户端(例如Oultook或OWA)是否已对它们进行了处理,则可以使用PidTagLastVerbExecuted https://docs.microsoft.com/zh-cn/office/客户开发人员/ outlook / mapi / pidtaglastverbexeculated-canonical-property(这是Outlook确定它的方式),例如
https://graph.microsoft.com/v1.0/me/messages?$expand=SingleValueExtendedProperties($filter=(Id%20eq%20'Integer%200x1081'))
如果已回复邮件,您会看到类似以下的结果
"singleValueExtendedProperties": [
{
"id": "Integer 0x1081",
"value": "102"
}
]
这仍然不是100%可靠,因此,如果您这样做是唯一的审计方法,则是使用跟踪日志(Office365中的MessageTrace)
谢谢格伦!它不会用于审核,只需要从我的API传递一个true / false值即可为前端提供一个指示符,以指示是否显示转发/答复的箭头图标。因此,这样做会很不错:)唯一看起来有点奇怪的是,102用于回复,104用于转发消息。而docs链接分别指出105和106。
我认为文档是错误的,上次我使用github.com/stephenegriffin/MAPIStubLibrary/blob/master/include/…来获取动词枚举。