Интеграция с Microsoft Office 365 через API Microsoft Graph

Регистрация обработки на портале Microsoft.
Настройка разрешений.
Авторизация через 1С по протоколу OAuth2.
Получение списка пользователей организации с портала Microsoft Office 365 без использования COM-объектов.

API Microsoft Graph — это единый шлюз для получения доступа к веб-сервисам Microsoft. С его помощью можно работать с почтой, контактами, группами офиса 365 и многим другим.

Предлагаемый пример решает задачу получения информации о всех пользователях организации и их адресов электронной почты с портала Microsoft.

1. Для получения доступа к облачным сервисам необходимо зарегистрировать своё приложение (в нашем случае обработку 1С) на портале Микрософт. Регистрация бесплатная.
Для этого понадобится корпоративная учетная запись офиса 365 или обычный аккаунт Микрософт (создать новый можно тут: https://signup.live.com/).
Переходим на портал (https://apps.dev.microsoft.com) и добавляем новое приложение. Флажок «Let us help you get started» можно снять.
В форме регистрации:

  • Заполняем имя приложения.
  • Добавляем платформу — собственное приложение.
  • Выбираем нужные делигированные разрешения. В моём случае требуются User.Read (минимальное разрешение для авторизации пользователя) и User.ReadBasic.All (базовая информация о других пользователях). Подробное описание остальных разрешений можно получить в документации: https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference.
  • Копируем код приложения из верхней части формы и сохраняемся.

2. Авторизация в API Microsoft Graph реализована по протоколу OAuth 2.0, поэтому пользователю нужно подтвердить разрешения интерактивно. Это реализовано с помощью поля html документа на форме.
Если авторизация прошла успешно, обработка получает код авторизации.

3. Отправляем код авторизации на сервер graph.microsoft.com с помощью POST-запроса, в ответ получаем токен доступа.

4. Используя полученный токен доступа, можно через Microsoft Graph получить нужные данные. Подробнее о API Microsoft Graph можно почитать тут: https://developer.microsoft.com/ru-ru/graph/docs.

Кстати, аналогичным образом можно работать и с Google API.

2 Comments

  1. ig-efrem

    Спасибо, большое, очень нужная обработка, позволила сэкономить кучу времени и сил

    Reply
  2. 🅵🅾️🆇
    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *