400 Ошибка неверного запроса при использовании Microsoft Graph API для подписки на push-уведомления Outlook - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь создать подписку, чтобы получать сообщения электронной почты Outlook через Push-уведомление, используя Microsoft Graph API.Я использую эту документацию для справки /

Я создал приложение на portal.azure.com и предоставил необходимое разрешение на «Чтение почты пользователя» под API «Microsoft Graph», и администратор дал на это согласие.через Microsoft Demo арендатора.Но я все еще не могу подписаться на API REST Push-уведомлений Microsoft Graph и получаю ошибку 400 Bad Request.

Я также пытался предоставить все разрешения приложению на portal.azure.com под Microsoft Graph.API и администратор снова согласились с этим через мой демонстрационный клиент Microsoft, но я все еще получаю такую ​​же 400 ошибку неверного запроса.

Я использую следующий код для создания подписки:

private static void Subscribe(AuthenticationHeaderValue authHeader) 
{
    using(HttpClient _httpClient = new HttpClient()) 
    {
       _httpClient.BaseAddress = new Uri("https://graph.microsoft.com");
       _httpClient.DefaultRequestHeaders.Accept.Clear();
       _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
       _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));
       _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
       _httpClient.DefaultRequestHeaders.Authorization = authHeader;

       // connect to the REST endpoint to subscribe   
       var json = @"{
                       'changetype':'created,updated',
                       'notificationurl': 'http://requestbin.fullcontact.com/two54stw/',
                       'resource': 'me/mailfolder(\'Inbox\')/messages',
                       'clientstate': 'secretclientvalue'
                   }";

       HttpContent contentPost = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
       HttpResponseMessage subscribe = _httpClient.PostAsync($"v1.0/subscriptions", contentPost).Result;
       Console.WriteLine("New subscription created!");
    }
}

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

1 Ответ

0 голосов
/ 19 декабря 2018

Neha. Исходя из ошибки 400 Bad Request, я предполагаю, что notificationurl настроен неправильно.

Пожалуйста, обратитесь к этой статье , и я последовал примеру здесь . Это работает для меня.

enter image description here

Получить токен:

enter image description here

Ответ:

enter image description here

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