使用Microsoft Graph读取用户电子邮件的示例

问题描述 投票:0回答:2

我正在创建一个C#.Net Core 2.0控制台应用程序来读取特定用户的电子邮件。我成功地让这个sample console application工作。身份验证正在运行。我添加了阅读所有用户的电子邮件的权限。我查看了API文档,但我看不到阅读用户电子邮件的示例。大量的发送示例。任何帮助赞赏。

microsoft-graph
2个回答
0
投票

谢谢发帖。如果我注释掉过滤器,我就可以使用它:

            GraphServiceClient client = GetAuthenticatedClient();

            string subject = "RE: ACTION NEEDED:";
            string dt = "2018-10-5T00:00:00";
            IUserMessagesCollectionPage msgs = client.Users["[email protected]"].Messages.Request()
                //.Filter($"receivedDateTime ge '{dt}'")  // Invalid filter
                .Filter($"startswith(subject, '{subject}') and receivedDateTime gt {dt}")
                .Select(m => new { m.Subject, m.ReceivedDateTime, m.From, m.Body })
                .Top(100)
                .GetAsync().Result;
            int msgCnt = msgs.Count;

我发布了一些关于让过滤器工作的东西。 STARTwith工作但日期过滤器失败。


0
投票

得到每个人的邮件。

var users = graphClient.Users.Request().GetAsync().Result;

获取特定用户的邮件:

List<QueryOption> options = new List<QueryOption>
{
     new QueryOption("$filter", "startswith(displayName,'the specific user's mail')")
};
var users= await graphClient.Users.Request(options).GetAsync();
//Or
  var users = await graphClient.Users.Request().Filter("startswith(displayName,'help')").GetAsync();

获取邮件:

  foreach (var item in users)
    {
      string currentMail=item.Mail;
    }

更新2018-10-7更新您的帖子:

您可以使用以下API过滤邮件:

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$filter=ReceivedDateTime ge 2018-10-04 and startswith(subject,'{subject}') 
© www.soinside.com 2019 - 2024. All rights reserved.