Я пытаюсь настроить службу демона, которая будет подключаться к Exchange 365 через API Graph и читать электронную почту для выбранного почтового ящика. Приложение - это служба, поэтому ей необходимо использовать разрешения приложения, а не единый вход.
Большое спасибо @ marc-lafleur за статью ниже, за которой я следовал и которой удалось получить список из 365 пользователей и идентификаторов. Вызов Microsoft Graph в сервисе или приложении-демоне с использованием утверждений клиента вместо использования секрета клиента?
Просто для подтверждения - область действия "https://graph.microsoft.com/.default"
https://docs.microsoft.com/en-gb/azure/active-directory/develop/v1-oauth2-client-creds-grant-flow
https://docs.microsoft.com/en-gb/azure/active-directory/develop/sample-v1-code#server-or-daemon-application-to-web-api
Проблема в том, что когда я звоню в следующий API: https://graph.microsoft.com/v1.0/users/{userId}/messages/
Я получаю следующую ошибку:
{"error": {"code": "ErrorAccessDenied", "message": "Доступ запрещен.Проверьте учетные данные и повторите попытку. "," InnerError ": {" request-id ":" fe6e31a9-3f54-488e-bdd6-3648803f3456 "," date ":" 2018-11-14T15: 37: 21 "}}}
Я надеюсь, что в моем запросе отсутствует область или какая-то конфигурация на стороне Azure, но любая помощь будет принята.
Спасибо