Api 获取已发送邮件的id

Api 获取已发送邮件的id,api,microsoft-graph-api,Api,Microsoft Graph Api,我当前正在使用,当我点击按钮时,它不会返回任何信息(graph API文档已经声明了这些信息) 问题是我需要知道internetMessageId或已发送邮件的Id,因为我使用的是VSTO Outlook加载项,它需要这些信息来跟踪所有已发送的邮件,而不管这些邮件是从Outlook客户端还是从Graph API发送的 到目前为止,我一直在尝试的是,它会将创建的消息信息(包括Id、InternetMessageId)返回给我,然后我会使用它发送消息 但是,已发送邮件的internetMessage

我当前正在使用,当我点击按钮时,它不会返回任何信息(graph API文档已经声明了这些信息)

问题是我需要知道internetMessageId或已发送邮件的Id,因为我使用的是VSTO Outlook加载项,它需要这些信息来跟踪所有已发送的邮件,而不管这些邮件是从Outlook客户端还是从Graph API发送的

到目前为止,我一直在尝试的是,它会将创建的消息信息(包括Id、InternetMessageId)返回给我,然后我会使用它发送消息

但是,已发送邮件的internetMessageId与在草稿文件夹中创建的ID不同,我认为这是正常的,因为它位于不同的文件夹中


这就是我卡在atm机上的地方。

问题解决了,嗯,有点像

实际上,我所做的是使用以下路径创建草稿消息,然后我可以简单地使用它的Id发送它,因为消息在发送时没有移动,所以它仍然具有相同的InternetMessageId

然而,我有一个问题。在Outlook桌面客户端上发送邮件时,邮件没有任何Internet标题(包含InternetMessageId的标题)。我希望它一直存在,但显然对于发送的邮件,它没有被添加


因此,我无法在Outlook VSTO中找到此邮件,因为当我在“已发送”文件夹中打开此邮件时,它根本没有标题

为了解决这个问题,我必须将SingleValueLegacyExtendedProperty添加到邮件中,以便将InternetMessageId添加到已发送的邮件中。这样我就可以在outlook中检索它并执行业务逻辑。感觉很粗糙,但找不到其他方法。作为扩展属性的一个示例,我在这里使用了一个解决方案: