3

我在 C# 中使用 Graph SDK 来阅读邮件消息,我能够做到这一点。我想要我的邮件消息的 Mime 内容。我们如何使用 SDK 在我的请求中传递 $value。

示例代码:

mails = await graphserviceclient
    .Me
    .Messages
    .Request()
    .Top(2)
    .GetAsync();

请让我知道我们如何在使用 graphserviceclient 的 C# 代码中传递 $value。

4

2 回答 2

7

我们正在等待一些元数据更新,以便在 SDK 中简化此操作。目前,获取 MIME 内容的解决方法如下所示:

GraphServiceClient graphClient = new 
GraphServiceClient("https://graph.microsoft.com/beta/",authProvider);

var messageId = "...";
var request = graphClient.Me.Messages[messageId].Request()
            .GetHttpRequestMessage();

request.RequestUri = new Uri(request.RequestUri.OriginalString +"/$value");
var response = await graphClient.HttpProvider.SendAsync(request);

var message = await response.Content.ReadAsStringAsync();

在不久的将来,您应该能够:

var aStream = await graphClient.Me.Messages[messageId].Content.Request().GetAsync();
于 2019-09-07T02:18:54.730 回答
0

无论使用何种 SDK,您都无法请求$value收集。API 仅允许在单个消息上执行此操作。

具体来说,就 SDK 而言,这是不支持的。这仍然是一个未记录的预览/功能,因此您需要直接调用此端点,而不是通过 SDK。另外值得注意的是,即使支持,SDK 仍然无法反序列化 MIME。

于 2019-09-06T19:28:40.107 回答