Google Calendar API и процесс проверки приложений Google - PullRequest
0 голосов
/ 12 июня 2019

Я создаю веб-сайт для клиента, который использует API Календаря Google.По сути, клиент должен иметь возможность вводить свои идентификаторы календаря и иметь события на сайте.Это выполняется с помощью функции firebase, которая выполняет запрос к API-интерфейсу календаря.

Первое, что я попробовал, было следовать краткому руководству Google для API-интерфейса календаря.Это работало некоторое время, пока не истек срок действия предоставленного ими токена доступа, и я понял, что токен доступа был временным.

Затем я сгенерировал свой собственный идентификатор клиента OAuth2 и использовал его.Это работало недолго, пока я не начал получать сообщения об ошибках «Срок действия анонимного использования истек» от Google, что через некоторое время я понял, потому что у ключа не была включена область календаря только для чтения.

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

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

Затем меня привлекло API CalDAV, но, похоже, к нему предъявляются те же требования в отношении проверки экрана согласия OAuth2 с Google.

Обычно я не представляю такой базовыйвопрос, но я не смог найти решение через 3 недели.Предоставляет ли Google еще один вариант, который мне не хватает?

1 Ответ

1 голос
/ 14 июня 2019

К сожалению, простой ответ заключается в том, что нет, Google не предоставляет другого варианта для этого.

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

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

  1. Перейти к calendar.google.com
  2. В правом верхнем углу страницы выберите to -> Настройки
  3. Выберите Календарь, который вы хотите отобразить на левой панели страницы.
  4. В разделе «Права доступа» нажмите «Сделать доступным для общественности» и измените раскрывающееся меню, чтобы выбрать «Просмотреть только свободные / занятые (скрыть подробности)» [1].
  5. В разделе «Интегрировать календарь» есть ссылки на общедоступный URL-адрес календаря и встроенный код iframe.

'See only free/busy (hide details)' selected

Если выбрано «Видеть только свободные / занятые (скрыть детали)», единственная информация, которая будет доступна для просмотра анонимным / публичным пользователям, - это время события и владелец календаря. Вся другая информация о событии в календаре скрыта, если только человек, просматривающий страницу, не приглашен на событие и не вошел в систему [2].

Calendar event information is private unless user is invited

...