Microsoft Graph-转换已读电子邮件



我可以使用Microsoft Graph获取所有电子邮件,但我必须找到一个解决方案,使用控制台应用程序以更直观的方式获取信息。我找不到做那件事的方法。

我目前拥有的代码:

static async Task Main(string[] args)
{
var scopes = new[] { "https://graph.microsoft.com/.default" };
var tenantId = "";
var clientId = "";
var clientSecret = "";
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
IUserMessagesCollectionPage msgs = await graphClient.Users["my email"].Messages.Request().GetAsync();
List<Message> messages = new List<Message>();
messages.AddRange(msgs.CurrentPage);
while (msgs.NextPageRequest != null)
{
msgs = await msgs.NextPageRequest.GetAsync();
messages.AddRange(msgs.CurrentPage);
}
Console.ReadLine();
}

我可以列出我的所有消息,但实际上不能以一种易于阅读的方式进行转换。

这对我有效:

GraphServiceClient graphClient = new(await GraphAuthAsync());
IUserMessagesCollectionPage graphRequest = await graphClient.Me.Messages
.Request()
.Filter("isRead eq false")
.Expand("attachments")
.Top(10)
.Select("id,from")
.GetAsync();

因此,属性字节丢失了。

最新更新