Как автоматически получать новые электронные письма с помощью Microsoft Graph в приложении UWP - PullRequest
0 голосов
/ 11 июня 2018

Я успешно подключился к Microsoft Graph с помощью OAuth.Я могу получать и отправлять электронные письма из своей учетной записи Office365.

Но я полностью застрял в том, как автоматически получать электронные письма, подобно процедуре IMAP IDLE.

Я ссылаюсь

using Microsoft.Graph;
using Microsoft.Toolkit.Services.MicrosoftGraph;

Я пробовал подписку, но понятия не имею, что делать дальше, или даже если это правильно.

Subscription sub = new Subscription {
    ChangeType = "created",
    NotificationUrl = "urn:ietf:wg:oauth:2.0:oob",
    Resource = "/users/me/messages",
    ExpirationDateTime = DateTimeOffset.Now.AddMinutes(20),
    ClientState = "????" // if applicable, what is this
};

Ответы [ 2 ]

0 голосов
/ 17 июня 2018

В настоящее время подписки невозможны с использованием Microsoft Graph для UWP, для уведомлений следует использовать API Outlook 365.График API Microsoft может быть использован для проверки подлинности и других задач.

Может ли Microsoft рассмотреть возможность включения потоковых уведомлений в Microsoft Graph?

0 голосов
/ 11 июня 2018

Для подписки необходимо предоставить URL-адрес уведомления с https (см. документация графика ).

POST https://graph.microsoft.com/v1.0/subscriptions
 Content-Type: application/json
 {
   "changeType": "created,updated",
   "notificationUrl": >  "https://webhook.azurewebsites.net/notificationClient",
   "resource": "/me/mailfolders('inbox')/messages",
   "expirationDateTime": "2016-03-20T11:00:00.0000000Z",
   "clientState": "SecretClientState"
 }

Если вам нужны примеры, то графическая документация ссылается на пример Node.js и asp.net .Оба используют ngrok для предоставления URL-адреса https (хотя только для целей тестирования).Программа туннелирует HTTP-запросы на ваш локальный хост (как обратный прокси-сервер).Если у вас есть такая настройка, вы должны подтвердить свой запрос.Когда вы отправляете запрос на подписку, первое сообщение, которое получит ваш URL-адрес для уведомления, - это сообщение с токеном проверки (см. doc ).Вы должны отправить этот токен подтверждения обратно.Теперь вы должны получать уведомления на указанный URL-адрес уведомления.

О типе ресурса подписки и его свойствах можно прочитать в графической документации .Например, состояние клиента описывается следующим образом:

Указывает значение свойства clientState, отправляемого службой в каждом уведомлении.Максимальная длина составляет 255 символов. Клиент может проверить, пришло ли уведомление от службы , сравнив значение свойства clientState, отправленного с подпиской, со значением свойства clientState, полученного с каждым уведомлением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...