我正在使用 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