是否可以使用 Outlook/Office 365 REST API 从电子邮件中检索 RFC 2822(或任何)标头?

2024-05-01

我正在开发的应用程序需要访问电子邮件的标题 - 特别是像return-path, in-reply-to, and references。理想情况下,我们希望能够访问电子邮件的所有 RFC 2822 标头。这可以通过 Outlook/Office 365 REST API 实现吗?如果不行的话,有没有什么API可以实现?


UPDATE: The InternetMessageHeaders属性已添加到 Outlook API 的 beta 端点,因此您无需使用扩展属性即可获取该属性。您必须通过以下方式明确请求该属性$select尽管。就像是:

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messages?
$select=Subject,InternetMessageHeaders

对于图:该属性也存在于 Graph 的 beta 端点中的消息上,因此您可以执行以下操作:

GET https://graph.microsoft.com/beta/me/mailfolders/inbox/messages?
    $select=subject,internetMessageHeaders

对于非 Beta 端点:API 不直接提供访问权限。但是,您可以访问PidTagTransportMessageHeaders https://msdn.microsoft.com/en-us/library/office/cc815628.aspxMAPI 属性使用扩展属性API https://msdn.microsoft.com/en-us/office/office365/api/extended-properties-rest-operations#ExtendedpropertyoperationsGetitemexpandedwithextendedproperty.

从第一个链接中,我们看到属性 IDPidTagTransportMessageHeaders is 0x7D,类型为String。所以$expandGET 的参数如下所示:

$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x7D')

NOTE:这仅适用于 Outlook 端点(https://outlook.office.com https://outlook.office.com)。对于图表,请参阅 madsheep 的答案

将其与GET对于特定消息,您的请求可能如下所示:

GET https://outlook.office.com/api/v2.0/me/messages/{message-id}?
$select=Subject,SingleValueExtendedProperties
&$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x7D')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用 Outlook/Office 365 REST API 从电子邮件中检索 RFC 2822(或任何)标头? 的相关文章

随机推荐