Пример чтения электронной почты пользователя с помощью Microsoft Graph - PullRequest
0 голосов
/ 06 октября 2018

Я создаю консольное приложение C # .Net Core 2.0 для чтения электронной почты конкретного пользователя.Я успешно получил образец консольного приложения .Итак, аутентификация работает.Я добавил разрешения на чтение всей электронной почты пользователя.Я просмотрел документы по API и не вижу примеров чтения электронной почты пользователя.Много примеров присылки.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Спасибо за публикацию.Я получил это, чтобы работать, если я закомментирую фильтр:

            GraphServiceClient client = GetAuthenticatedClient();

            string subject = "RE: ACTION NEEDED:";
            string dt = "2018-10-5T00:00:00";
            IUserMessagesCollectionPage msgs = client.Users["UserName@CompanyName.com"].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;

Я опубликовал кое-что о том, как заставить фильтр работать.Запускается с работой, но фильтр даты не работает.

0 голосов
/ 07 октября 2018

Чтобы получить почту каждого.

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}') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...