вызов API графа Microsoft через почтальона - PullRequest
0 голосов
/ 28 августа 2018

Добрый день, ТАК люди.

Я пытаюсь создать веб-сервис REST для доступа к API-интерфейсу MS Graph Calendar. Я хотел бы проверить это через почтальона, прежде чем я начну кодировать. После некоторых исследований ниже я достиг того, чего достиг.

  1. Создана учетная запись Microsoft с @ outlook.com в качестве домена и доступ к утилите outlook. Я подошел к календарю и наметил некоторые события в календаре.
  2. Использовал учетную запись для ввода портала Azure и создал Azure Active Directory и нового пользователя в этом клиенте. Я поделился календарем своей учетной записи Microsoft с этим вновь созданным пользователем AAD.
  3. Использовал недавно созданного пользователя активного каталога Azure для входа в Портал регистрации приложений Microsoft . Я использовал этого пользователя, потому что увидел в блоге, что мне нужно зарегистрировать приложение в разделе «Конвергентное приложение». Когда я использую свою учетную запись Microsoft, на портале регистрации приложений нет раздела «Конвергентное приложение». Ниже приведен снимок экрана.

  1. Я добавил «Конвергентное приложение» и получил необходимые данные, такие как Идентификатор приложения и Секретный ключ приложения . Платформой, которую я выбрал, является «Веб», и я предоставил ее в качестве URL перенаправления: https://www.getpostman.com/oauth2/callback. Хотя, я думаю, я не буду использовать это, потому что мне нужен простой вход в систему. Я не хочу порождать браузер для предоставления моей учетной записи Microsoft для авторизации и аутентификации.

После прочтения существует множество типов грантов, которые вы должны авторизовать и аутентифицировать для использования API-интерфейсов MS Graph. Одним из них является Код авторизации Grant Flow , который порождает интерфейс для входа в учетную запись Microsoft или AAD. Как уже упоминалось выше, мне нужен простой вход в систему, поэтому я попробовал Client Credentials Grant Type и Resource Owner Grant Type.

  1. После создания приложения ему должны быть предоставлены привилегии для управления доступом к нему. Я дал приложению необходимые делегированные и прикладные разрешения в соответствии со специфическим API MS Graph, который мне нужно использовать. Ниже приведен снимок экрана.

  1. Предполагая, что у меня все настроено, я попытался получить токен доступа, используя этот URL:

    https://login.microsoftonline.com/substitute-with-tenant-directory-id/oauth2/v2.0/token

Мне удалось получить токен доступа, используя тип гранта владельца ресурса. Ниже приведен снимок экрана.

  1. Затем я попытался получить доступ к нужному API. Вот URL:

    https://graph.microsoft.com/v1.0/me/calendar/calendarView?startDateTime=2018-08-01T00:00:00.0000000&endDateTime=2018-08-31T23:59:59.0000000

Я также пытался заменить часть "я" в URL-адресе на "users / substitute-with-user-id", но, к сожалению, я получаю сообщение об ошибке. Ниже приведен снимок экрана.

Я застрял, потому что ответ говорит "Неизвестная ошибка". Кто-нибудь знает, что мне здесь не хватает?

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Я недавно позвонил в Graph API через почтальона, выполнив шаги, указанные в Этот блог и я думаю, проблема в том, что вы не передаете Resource в теле. Попробуйте передать Resource в теле со значением https://graph.microsoft.com надеюсь, что это решит вашу проблему.

0 голосов
/ 03 января 2019

Ниже у меня все работало:

https://blogs.msdn.microsoft.com/softwaresimian/2017/10/05/using-postman-to-call-the-graph-api-using-azure-active-directory-aad/

1) Создайте токен доступа на вкладке Авторизация, выберите тип OAuth 2.0 и нажмите GET NEW ACCESS TOKEN.

2) Введите детали, как показано ниже:

URL авторизации: https://login.windows.net/common/oauth2/authorize?resource=https://outlook.office.com

URL-адрес токена доступа: https://login.microsoftonline.com/common/oauth2/token

Идентификатор клиента: идентификатор вашего приложения

Секрет: секрет, установленный при регистрации приложения.

3) Он будет аутентифицирован и токен будет создан.

4) Выберите Добавить токен в заголовок и нажмите кнопку Использовать токен.

5) На вкладке «Тело» выберите x-www-форму.

6) На вкладке Заголовок это должно выглядеть так:

Тип содержимого: application / x-www-form-urlencoded

Авторизация: Носитель (ваш токен генерируется автоматически).

7) Выполнить операцию POST.

0 голосов
/ 28 августа 2018

Это токен делегированного разрешения, вы можете получить только событие календаря текущего логина пользователя. Если вы хотите загрузить событие другого пользователя, вы можете использовать токен только для приложения. Обратитесь к https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service, чтобы узнать, как получить токен только для приложения.

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