Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация календарей / Подключение Microsoft 365 через приложение Entra (Microsoft App)

Подключение Microsoft 365 через приложение Entra (Microsoft App)

Microsoft App — способ подключения календарей Microsoft 365 к UnSpot через приложение, зарегистрированное в Microsoft Entra. Вы один раз создаёте приложение в своём тенанте, выдаёте ему права на календари и указываете его данные в UnSpot — дальше это подключение обслуживает все ресурсные календари переговорных: UnSpot сам получает список переговорных организации и подключает их календари, без авторизации под учётной записью пользователя и без выдачи прав на каждый календарь отдельно. Классическая схема с авторизацией под сервисной учётной записью по-прежнему работает — см. статьи «Предоставление прав на управление ресурсным календарем в Microsoft 365» и «Подключение календаря Office 365 к переговорной».

Как это работает

UnSpot обращается к Microsoft Graph от имени приложения, а не от имени пользователя. Приложение регистрируется в Microsoft Entra в вашем тенанте, получает секрет (Client Secret) и два разрешения уровня приложения: Place.Read.All — читать список переговорных организации, и Calendars.ReadWrite — работать с событиями в календарях. После того как администратор тенанта подтвердит разрешения (Grant admin consent), UnSpot авторизуется по идентификаторам приложения (Client ID + Tenant ID + Client Secret) напрямую у Microsoft — интерактивный вход и повторная авторизация пользователей не нужны.

  • При сохранении подключения UnSpot проверяет доступ: запрашивает у Microsoft список переговорных тенанта. Если данные приложения неверны или разрешения не подтверждены, подключение не сохранится — UnSpot покажет описание ошибки и оригинальный ответ Microsoft.
  • При подключении календаря к переговорной UnSpot пытается создать в календаре комнаты тестовое событие и сразу удаляет его — так проверяется возможность записи.
  • Дальше синхронизация двусторонняя: брони переговорных из UnSpot создаются, обновляются и удаляются в основном календаре ресурсного ящика комнаты, а события, созданные в календаре комнаты напрямую (например, из Outlook), появляются в UnSpot. Изменения приходят по подписке на уведомления Microsoft Graph, которую UnSpot оформляет при подключении календаря.
  • Одно подключение обслуживает все переговорные тенанта. Подключений может быть несколько — например, для разных тенантов Microsoft.

Требования

  • Доступ к Microsoft Entra с правом регистрировать приложения и подтверждать разрешения (Grant admin consent) — например, роль Global Administrator.
  • Переговорные заведены в Microsoft 365 как ресурсные почтовые ящики комнат (Room mailbox) — иначе UnSpot не увидит их в списке. Как создать ресурсный календарь — см. статью «Создание ресурсного календаря в Office 365».
  • Права в UnSpot: подключение настраивает Владелец. Администратор интеграций видит вкладку «Синхронизации», но управлять подключениями календарей не может.

Создание приложения в Microsoft Entra

Откройте entra.microsoft.com, в меню слева выберите App registrations и нажмите New registration.

Введите произвольное имя в поле Name. В поле Supported account types выберите вариант для одного тенанта — Accounts in this organizational directory only (Single tenant). Нажмите Register.

Создайте секрет приложения: на странице приложения откройте Certificates & secrets (или ссылку Add a certificate or secret на вкладке Overview) и нажмите New client secret. Заполните Description (необязательно) и выберите срок действия — рекомендуем максимальный (24 месяца). Нажмите Add.

Сразу скопируйте значение из колонки Value и сохраните его в надёжном месте: после ухода со страницы Microsoft больше не покажет секрет целиком. Обратите внимание на срок действия — когда он истечёт, синхронизация остановится, и секрет придётся перевыпустить и обновить в UnSpot.

Идентификаторы приложения находятся на вкладке Overview: Application (client) ID — это ClientId, Directory (tenant) ID — это TenantId. Скопируйте оба значения, они понадобятся при подключении в UnSpot.

Выдайте приложению разрешения: откройте API permissions, нажмите Add a permission, выберите Microsoft GraphApplication permissions.

В списке отметьте два разрешения — Place.Read.All и Calendars.ReadWrite — и нажмите Add permissions.

Нажмите Grant admin consent и подтвердите. У обоих разрешений в колонке Status должна появиться зелёная отметка Granted. Стандартное делегированное разрешение User.Read, которое Entra добавляет при регистрации приложения, трогать не нужно — оно не мешает.

Обратите внимание: Application-разрешение Calendars.ReadWrite действует на календари всех почтовых ящиков тенанта. При необходимости область действия приложения можно ограничить только ящиками переговорных — политикой Exchange Online New-ApplicationAccessPolicy (см. документацию Microsoft).

Создание подключения в UnSpot

Перейдите в «Администрирование» → «Интеграции» → «Синхронизации», в разделе «Синхронизация календарей» найдите карточку Microsoft 365 и нажмите «Подключить».

В окне «Подключение Microsoft» заполните форму — все поля обязательны:

ПолеЧто указать
ClientIdApplication (client) ID со страницы Overview приложения. У каждого подключения свой ClientId — использовать один и тот же в двух подключениях нельзя. После создания подключения это поле изменить нельзя.
TenantIdDirectory (tenant) ID со страницы Overview приложения.
ClientSecretЗначение (Value) секрета, скопированное при его создании. После сохранения секрет скрывается и не отображается при редактировании.
Название подключенияПроизвольное имя от 2 до 255 символов — отображается на карточке подключения и при выборе подключения у переговорной.

После нажатия «Сохранить» UnSpot проверяет доступ — запрашивает у Microsoft список переговорных тенанта. При успехе окно закрывается, подключение появляется в списке карточек, показывается уведомление «Microsoft успешно подключен». Если проверка не прошла, окно формы остаётся открытым, а в отдельном окне показывается описание ошибки и оригинальный ответ Microsoft.

Управление подключениями

  • Подключений может быть несколько — каждое отображается отдельной карточкой, рядом всегда есть карточка с кнопкой «Подключить» для добавления следующего.
  • «Изменить» — редактирование подключения. ClientId изменить нельзя (для другого приложения создайте новое подключение); TenantId, ClientSecret и название — можно. Сохранённый секрет в форме не показывается — вместо него маска ********; новое значение отправляется, только если ввести его заново. При сохранении UnSpot повторно проверяет доступ.
  • «Отключить» — удаление подключения после окна подтверждения. Вместе с подключением отключаются календари переговорных, которые через него работали.
  • Если подключение перестало работать — например, истёк срок действия ClientSecret или отозваны разрешения, — карточка помечается «Ошибка подключения». Обновите данные через «Изменить»; невалидное подключение не предлагается при подключении календаря к переговорной.

Подключение календаря к переговорной

Календарь подключается из карточки переговорной, повторная авторизация не требуется:

  1. Перейдите в «Администрирование» → «Управление офисом» → «Рабочие пространства», откройте карточку переговорной и перейдите к подключению календаря.
  2. Выберите плитку Microsoft с названием нужного подключения.
  3. В окне «Подключение календаря» выберите из списка ресурсный календарь переговорной и нажмите «Подключить». В списке показываются календари, которые ещё не подключены к другим переговорным.

При подключении UnSpot пытается создать в календаре тестовое событие и сразу удаляет его. Если создать событие не удалось, UnSpot покажет описание ошибки и ответ Microsoft. У переговорной с подключённым календарём на странице пространств отображается иконка Microsoft. Отключается календарь так же, как для остальных провайдеров, — из карточки переговорной.

Ошибки при подключении

СообщениеЧто означает и что делать
Client ID уже используетсяПодключение с таким ClientId уже существует. Для второго подключения зарегистрируйте отдельное приложение в Entra.
Некорректные учётные данные.Microsoft отклонил авторизацию приложения. Проверьте ClientId, TenantId и ClientSecret; убедитесь, что срок действия секрета не истёк.
Недостаточно прав для сервисного аккаунта или приложения.Приложению не хватает разрешений. Проверьте, что выданы Application-разрешения Place.Read.All и Calendars.ReadWrite и нажата кнопка Grant admin consent.
Ошибка подключения.Общая ошибка при обращении к Microsoft. В окне ошибки UnSpot показывает оригинальный ответ сервиса — по нему видно причину.
Этот календарь уже подключён.Выбранный ресурсный календарь уже привязан к другой переговорной.
У комнаты уже есть подключенный календарь.У переговорной может быть только один календарь — сначала отключите текущий.
Календарь не найден.Ресурсный календарь недоступен приложению — проверьте, что комната существует в тенанте и заведена как Room mailbox.

Связанные статьи

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading