小编Cha*_*ver的帖子

使用 Microsoft Graph SDK 在统一列表中获取所有电子邮件标头?

我正在使用 Microsoft Graph 从特定帐户的收件箱获取信息。该帐户有多个电子邮件别名。但是,即使在我$select查询该InternetMessageHeaders属性后,它也不包含电子邮件发送到的别名。

我发现,如果我还使用 选择并扩展查询singleValueExtendedProperties,我会得到我需要的内容,但现在我丢失了 中存在的一些标头InternetMessageHeaders。它还以一大堆文本的形式返回,看起来不太直接而难以解析。如果我能以某种方式将这个文本块解析为键:值映射,我可以合并这两个值并收工,但我不知道这是否可能。我希望它可以用multiValueExtendedProperties,但我不认为这是它的预期用途。

我正在使用 Microsoft Graph 的 SDK for .NET(当前使用 4.0.0),这是我迄今为止获取所有电子邮件的方法:

public async Task<List<Message>> PollEmails() {
    var completeList = new List<Message>();

    var messagesRequest = await graphClient.
        Users[GraphOptions.AccountId]                                               // Email account ID
            .Messages                                                               // All Emails
            .Request()                                                              // Create request w/ authorization & headers needed
            .Select("internetMessageHeaders,singleValueExtendedProperties")         // Additionally, select the email's headers
            .Expand("singleValueExtendedProperties($filter=id eq 'String 0x007D')") // Without this filter, we cannot tell which email alias was …
Run Code Online (Sandbox Code Playgroud)

c# microsoft-graph-sdks microsoft-graph-mail .net-5 microsoft-graph-api

1
推荐指数
1
解决办法
2294
查看次数