Предотвращение конфликтов при создании событий в календаре ресурсов с помощью Google Calendar V3 - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь решить проблему предотвращения двойного бронирования с помощью Google Calendar Api (v3) .Я использую ресурсы Google в среде GSuite.Заказы производятся с централизованной платформы от имени нескольких пользователей и применяются к нескольким комнатам (ресурсам).Ответственное приложение аутентифицируется с использованием Сервисной учетной записи.Все календари ресурсов настроены на прием только тех приглашений, которые не конфликтуют.

До сих пор я обнаружил, что существует как минимум два способа бронирования ресурса:

  1. Создание событияв календаре ресурсов
  2. Создание события в личном календаре и добавление ресурса в качестве участника

Я обнаружил, что в первом сенарио события можно добавлять в календарь ресурсов,даже если они вызывают конфликт.В ответе API нет ошибки, событие только добавлено.

Я протестировал второй сценарий с помощью своего личного календаря и обнаружил, что комната должна ответить на приглашение на событие.Очевидно, что этот процесс может занять несколько минут, прежде чем комната откликнется.

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

Кто-нибудь знает, предоставляет ли Google функциональность для решения этой проблемы из коробки?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 сентября 2018

Google не выполняет никакой проверки API.Вы отправляете то, что хотите вставить, и они вставляют это.Вы должны убедиться, что он не конфликтует с чем-либо, что уже есть.

Могу ли я предложить вам проверить, прежде чем вставить его, а затем выполнить двойную проверку в течение нескольких минут, чтобы убедиться в отсутствии конфликтов, если естьзатем удалите его снова.

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