Как пройти проверку подлинности и создать подписку на push-уведомления, чтобы получать сообщения электронной почты Outlook? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь пройти проверку подлинности, чтобы использовать Outlook REST API для подписки на электронные письма Outlook через Push-подписку.Я использую эту документацию для справки: https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/version-2.0/notify-rest-operations

Я создал приложение на portal.azure.com и предоставил необходимые разрешения для «Чтение почты пользователя» в API «Office 365 Exchange Online».

Предоставить Требуемое разрешение на чтение почты пользователя. Снимок экрана

Я использую следующий код для получения токена Bearer с помощью пакета nuget Microsoft.Identity.Client.Но я все еще не могу подписаться на API REST push-уведомлений Outlook и получаю 401 несанкционированную ошибку.

  static async Task<AuthenticationResult> AuthorizeAsync(string clientId)
    {
        var authority = $"https://login.microsoftonline.com/{tenantName}.onmicrosoft.com";
        var app = new PublicClientApplication(clientId, authority);
        string[] scopes = new string[] { "Mail.Read" };
        var accounts = await app.GetAccountsAsync();

        AuthenticationResult authenticationResult = null;
        if (accounts.Any())
        {
            authenticationResult = await app.AcquireTokenSilentAsync(scopes, accounts.FirstOrDefault());
        }
        else
        {
            try
            {
                var username = $"{Environment.UserName}@microsoft.com";
                authenticationResult = await app.AcquireTokenByIntegratedWindowsAuthAsync(scopes, username);
            }

Кто-нибудь работал над аналогичной проблемой для проверки подлинности и создания подписки на push-уведомления для получения Outlookэлектронные письма и может помочь пожалуйста?

...