Согласно этим видео , похоже, что можно предварительно получить доступ к почтовым ящикам Exchange в гибридной конфигурации, точно так же, как и онлайн-почтовые ящики Exchange с помощью Microsoft Graph API.
Итак, у нас есть гибридная установка, в которой некоторые почтовые ящики только на предварительном этапе. OAuth работает для них, и я могу получить токен доступа. Используя этот токен, когда я нажимаю https://graph.microsoft.com/v1.0/me/
, я получаю базовый профиль пользователя.
Но когда я пытаюсь прочитать содержимое почтового ящика, нажав одну из следующих конечных точек:
https://graph.microsoft.com/v1.0/users/(email-address-here)/messages/
https://graph.microsoft.com/v1.0/me/messages/
Я получаю следующее сообщение об ошибке:
{
"error": {
"code": "ResourceNotFound",
"message": "Resource could not be discovered.",
"innerError": {
"request-id": "5d92ef93-e4d5-4610-acd0-a8d2d491d5ab",
"date": "2018-09-07T09:31:06"
}
}
}
Я уверен, что мы испортили какой-то шаг нашей гибридной установки, но не знаю, какой именно. Может кто-нибудь указать на некоторые конфиги, что мы должны перепроверить? Что может быть причиной этого?
Области, используемые для генерации токена доступа, включают Mail.Read
, и наша локальная версия сервера Exchange - 15.1.1531.3, что, согласно таблице на этой странице , - Exchange Server 2016 CU10.
Кроме того, если я непосредственно нажимаю следующий URL-адрес нашей предварительной установки в браузере, он запрашивает у меня адрес электронной почты и пароль:
https://(myonprem.exchange.com)/api/v2.0/me/messages
Когда я предоставляю это, он возвращает содержимое почтового ящика в формате JSON, поэтому это означает, что API также доступен на локальном сервере. Просто Microsoft Graph не может найти его как-то.
Этот сервер Exchange установлен в Azure. Так что, если я смогу получить доступ к виртуальному каталогу /api
из моего домашнего интернет-соединения, то Microsoft Graph также сможет получить к нему доступ. Так что это не может быть проблема с брандмауэром.
Одна вещь, на которую я хочу обратить внимание, это то, что исходящая электронная почта с этого сервера не работает. Наш системный администратор, который выполнял гибридную настройку, сказал мне, что порт SMTP, необходимый для исходящей электронной почты, заблокирован в Azure. Может ли это быть причиной моей проблемы случайно?