您可以从 .Net Microsoft Graph API 获取 PR_TRANSPORT_MESSAGE_HEADERS 0x007D 吗?

Lau*_*996 2 c# microsoft-graph-api

我们使用别名电子邮件地址来将收到的电子邮件与客户进行匹配。所有别名地址都会传送到一个主邮箱中。

ToRecipients 中未列出别名地址。如果我在 OWA 中打开电子邮件并查看邮件详细信息,我可以在邮件标头的“收件人:”属性中看到别名。

我尝试使用 graph.microsoft.com/beta 端点来获取 internetMessageHeader。它效果很好(我很惊讶。)不幸的是,响应中缺少 To: 属性。(From: 属性也丢失了。)

问题与有关使用 EWS 的问题相同。 Exchange Web 服务 (EWS) API 别名的“To”标头

是否有使用 Microsoft-Graph API .Net 获取 PR_TRANSPORT_MESSAGE_HEADERS 0x007D 属性的等效方法?

我试过:

var myvar = await graphClient.Users[inbox].Messages[message.Id].Request().Select("transportMessageHeaders").GetAsync();
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:消息:在“Microsoft.OutlookServices.Message”类型上找不到名为“transportMessageHeaders”的属性。

Jas*_*ton 5

是的,您可以在 Microsoft Graph API 中将MAPI 属性作为扩展属性进行访问。

您想要的 URL 结构类似于:

GET /me/messages/{message-id}?$expand=singleValueExtendedProperties(
    $filter=id eq 'String 0x007D')
Run Code Online (Sandbox Code Playgroud)

由于您使用的是 .NET 图形库,因此您可以像这样修改上面的代码:

var myvar = await graphClient.Users["user"]
    .Messages[message.Id]
    .Request().Select("singleValueExtendedProperties")
    .Expand("singleValueExtendedProperties($filter=id eq 'String 0x007D')").GetAsync();

string transportHeaders = myVar.SingleValueExtendedProperties.First().Value;
Run Code Online (Sandbox Code Playgroud)