Microsoft graph api 在Microsoft Graph API中确定转发和回复的电子邮件

Microsoft graph api 在Microsoft Graph API中确定转发和回复的电子邮件,microsoft-graph-api,Microsoft Graph Api,我正在使用Microsoft Graph SDK构建一个.NET核心WEB API,作为Outlook邮件和日历的自动化层。其中一项要求是确定哪些邮件已回复或转发 在使用“我的邮件”示例请求的结果时,我还不清楚如何确定电子邮件是否已转发或回复 声明ConversationId属性保持不变(事实上是如此),唯一的指示是主题前缀为“FW:”或“RE:”。此外,我似乎找不到一个正确、可靠的方法来识别这些 有人能告诉我怎么做吗?一般来说,电子邮件对消息线程的支持非常弱。也就是说,你可以从收藏中提取这个

我正在使用Microsoft Graph SDK构建一个.NET核心WEB API,作为Outlook邮件和日历的自动化层。其中一项要求是确定哪些邮件已回复或转发

在使用“我的邮件”示例请求的结果时,我还不清楚如何确定电子邮件是否已转发或回复

声明
ConversationId
属性保持不变(事实上是如此),唯一的指示是主题前缀为“FW:”或“RE:”。此外,我似乎找不到一个正确、可靠的方法来识别这些


有人能告诉我怎么做吗?

一般来说,电子邮件对消息线程的支持非常弱。也就是说,你可以从收藏中提取这个

Per:

在创建文档时,将使用回复:中的
引用:
字段 回复信息。它们保存原始消息的消息标识符 消息和其他消息的消息标识符(例如, 对于回复邮件本身就是回复的情况)。这个
回复:
字段可用于标识消息(或 新消息作为答复的消息),而
参考:
字段可用于标识 对话


请注意,回复
中的
是一个可选字段,因此可能不总是填充该字段

如果您查看收件箱中的邮件,并且想知道它们是否已被邮件客户端(例如Oultake或OWA)处理,则可以使用PittaglastVerbExecuted(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传递一个真/假值,给前端一个指示是否显示转发/回复箭头图标的指示器。这样做很好:)这里唯一看起来有点奇怪的是102用于回复,104用于转发消息。虽然docs链接分别表示105和106。我认为文档是错误的,上次我使用它时,我使用了动词enums。感谢回复Marc,我已经检查了它,它为我提供了一些有用的跟踪和审计信息。但遗憾的是,回复和引用字段不存在。所以我假设Outlook不会填充它们。