Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация календарей / Облако Microsoft 365: как устроена синхронизация календарей

Облако Microsoft 365: как устроена синхронизация календарей

Статья описывает, как устроена синхронизация броней UnSpot с календарями в облаке Microsoft 365 — что переносится в календарь и обратно, как быстро приходят изменения, что происходит при пересечении броней и чем отличаются два способа подключения: под учётной записью Microsoft и через приложение Microsoft Entra. Для локального сервера Exchange механика другая — см. статью «Локальный Exchange: как устроена синхронизация календарей».

Общая схема

UnSpot обращается к календарям Microsoft 365 через Microsoft Graph. Синхронизация двусторонняя и работает по событию, а не по расписанию:

  • Из UnSpot в календарь. Когда сотрудник бронирует переговорную, UnSpot сразу создаёт встречу в календаре этой комнаты. Изменение и удаление брони так же сразу уходят в календарь.
  • Из календаря в UnSpot. Когда встречу с этой переговорной создают в Outlook или другом клиенте, Microsoft присылает UnSpot уведомление, и UnSpot создаёт соответствующую бронь.

При первом подключении календаря UnSpot загружает события за окно от семи месяцев назад до шести месяцев вперёд. События вне этого окна в первую загрузку не попадают. Дальше UnSpot запрашивает у Microsoft только изменения — полная выгрузка больше не повторяется.

Что уезжает из брони в событие

Поле брони UnSpotКуда попадает в событииОговорки
Начало и конецвремя событияв часовом поясе офиса; если он не задан — часовой пояс компании
Название бронитема события
Ссылка на встречу и комментарийописание событиясклеиваются в один текст: сначала ссылка, затем комментарий
Участникиучастники событияпередаются только адреса электронной почты; деление на обязательных и необязательных не переносится
Признак приватной брониуровень конфиденциальности событияобычная бронь — «Обычная», приватная — «Личное»
Повторяемостьправило повторения событияпереносится при создании

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

Что приходит из события в бронь

Поле событияЧто становится в UnSpotОговорки
Теманазвание брониесли тема пустая, бронь называется Engaged
Начало и конецвремя брони
Организаторорганизатор брони
Уровень конфиденциальностипризнак приватной бронивсё, кроме «Обычная», делает бронь приватной
Участникиучастники брони
Правило повторенияповторяющаяся броньобрабатывается серия целиком
Отмена встречибронь удаляетсяотменённая встреча и отклонённое приглашение обрабатываются одинаково

Изменение отдельного экземпляра повторяющейся встречи в UnSpot не переносится. Синхронизация обрабатывает серию целиком: если в Outlook перенести или удалить одну встречу из цепочки, в UnSpot цепочка останется прежней.

Что не переносится ни в одну сторону

  • Место встречи (поле «Расположение» в Outlook) — переговорная в UnSpot определяется календарём, в который попало событие, а не текстом в этом поле.
  • Признак «весь день». Событие на весь день превращается в бронь с конкретным временем начала и конца.
  • Описание события. Текст встречи из календаря в описание брони не переносится — ни целиком, ни выжимкой. В обратную сторону описание уходит: комментарий брони и ссылка на встречу попадают в тело события.
  • Категории, признак онлайн-встречи, статус занятости («Занят», «Под вопросом» и прочие).
  • Вложения и текст форматированием — описание переносится обычным текстом.

Как приходят изменения из календаря

При подключении календаря UnSpot оформляет у Microsoft подписку на уведомления о созданных, изменённых и удалённых событиях этого календаря. Дальше:

  • Microsoft присылает уведомление, что в календаре что-то поменялось. Само содержимое изменений в уведомлении не передаётся.
  • UnSpot ставит обработку в очередь с небольшой задержкой — порядка пяти секунд. Это сглаживает серии уведомлений, когда в календаре меняют сразу несколько встреч.
  • Затем UnSpot запрашивает у Microsoft только изменения с момента прошлой сверки и применяет их к броням.

Срок жизни подписки — около 70 часов, после чего её нужно продлевать. Для календарей, подключённых под учётной записью Microsoft, продление выполняется автоматически. Для календарей, подключённых через приложение Entra, есть ограничение — см. раздел ниже.

Два способа подключения и чем они отличаются

Всё описанное выше одинаково для обоих облачных вариантов: поля, направления, окно первичной загрузки, механика уведомлений. Различия — в том, от чьего имени UnSpot обращается к календарю и как этот календарь находится.

Где каждый способ живёт в интерфейсе: подключение через приложение — карточкой в разделе «Синхронизация календарей», подключение под учётной записью — плиткой «Cloud Microsoft» в окне календаря переговорной.

ПризнакCloud Microsoft (учётная запись)Microsoft 365 (приложение Entra)
Как UnSpot авторизуетсяадминистратор входит в учётную запись Microsoft, UnSpot получает и обновляет её токенUnSpot получает токен по идентификаторам приложения; интерактивный вход не нужен
От чьего имени идёт обращениеот имени учётной записи, под которой выполнен входот имени самого ресурсного ящика переговорной
Какие права нужныдоступ к календарю каждой переговорной, выданный этой учётной записиразрешения уровня приложения, подтверждённые администратором тенанта
Как выбирается календарьиз списка календарей учётной записи; календари без права редактирования в список не попадаютиз списка ресурсных ящиков переговорных тенанта
Проверка прав при подключениине выполняетсявыполняется: создаётся и сразу удаляется тестовое событие
Что будет, если доступ пропадётперестанут работать все календари, подключённые под этой учётной записьюподключение помечается недействительным, календари через него не работают
Личные календари сотрудниковподдерживаютсяне поддерживаются
Продление подписки на уведомленияавтоматическоетребует ручной сверки, см. ниже

Практическое следствие второй строки: в варианте с приложением встреча в календаре комнаты создаётся от имени самой переговорной, а не от имени администратора. Организатор такой встречи в Outlook — ресурсный ящик комнаты.

Ещё одна деталь варианта с приложением: при подключении календаря к переговорной UnSpot создаёт в этом календаре проверочную встречу с темой [UNSPOT] Permission probe на дату примерно через месяц и сразу её удаляет. Если вы успели увидеть её в календаре — это штатная проверка прав, а не сбой.

Пересечения и конфликты

  • Календарь занят на это время. Если в момент создания брони в календаре комнаты уже есть встреча на это время, бронь удаляется, организатор получает уведомление об отмене и запускается повторная сверка календаря — приоритет у того, что уже стоит в календаре.
  • Событие в календаре создать не удалось. Бронь удаляется, а организатор получает уведомление об отмене.
  • Событие в прошлом. Бронь из события в прошлом не создаётся, если есть пересечения с другими бронями.
  • Завершившиеся брони не переписываются — изменение события в календаре на них не действует. Идущая сейчас бронь обновляется как обычная.

Ручная сверка и признаки поломки

В окне календаря переговорной есть кнопка «Запустить синхронизацию»: она заново вычитывает календарь и приводит брони в соответствие с ним. Кнопка доступна, пока календарь считается работающим, и после запуска блокируется на час — рядом показывается время, когда её можно нажать снова. Права: сверку выполняет Владелец. Кнопка видна и Администратору офисов, но запрос завершится отказом по правам.

Признаки того, что доступ к календарю потерян:

  • в дереве пространств у переговорной появляется отметка «Календарь недоступен» с подсказкой «Нет доступа к календарю. Проверьте соединение и подключите заново»;
  • на карточке подключения в разделе «Синхронизации» появляется отметка «Ошибка подключения»;
  • в окне календаря переговорной вместо «Запустить синхронизацию» появляется кнопка «Переподключить».

После успешной синхронизации отметка о недействительности снимается автоматически — отдельно «включать» календарь обратно не нужно.

Ограничение: входящую синхронизацию приложения нужно перезапускать вручную

Для календарей, подключённых через приложение Microsoft Entra, подписка на уведомления оформляется один раз — при подключении календаря — и автоматически не продлевается. Примерно через трое суток она перестаёт действовать, и изменения, сделанные в календаре комнаты, перестают попадать в UnSpot. Обратное направление при этом продолжает работать: брони из UnSpot по-прежнему создаются в календаре.

Как это выглядит и что делать:

  • Симптом: встречи, созданные в Outlook, не появляются в UnSpot, при этом ошибок и отметки «Календарь недоступен» нет.
  • Что помогает разово: нажать «Запустить синхронизацию» в окне календаря переговорной — сверка вычитает календарь и подтянет пропущенные встречи. Подписку сверка не пересоздаёт, поэтому следующие изменения снова не придут.
  • Что восстанавливает подписку: отключить календарь от переговорной и подключить заново — подписка оформляется именно в этот момент.
  • Если для вас важна непрерывная входящая синхронизация, выбирайте вариант «Cloud Microsoft» — там продление подписки автоматическое.

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

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

Loading

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

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

Loading