Так что я использую API REST уведомлений из офиса 365, чтобы получить изменения календаря. Мой запрос на подписку выглядит так (это массив в PHP, который я позже преобразую в json):
"@odata.type" => "#Microsoft.OutlookServices.PushSubscription",
"Resource" => "me/calendars/<calendar-id>/events",
"NotificationURL" => "https://mywebhook.azurewebsites.net/api/send/reservation",
"ChangeType" => "Created, Deleted",
"ClientState" => "c75831bd-fad3-4191-9a66-280a48528679"
Я передаю его в офисный API с токеном доступа и электронной почтой, и он работает нормально. И я вижу результаты на сайте («https://mywebhook.azurewebsites.net/view/reservation«) когда происходят изменения в календаре.
Где проблема? Как мое веб-приложение может видеть данные, которые были размещены на последнем веб-сайте? Потому что я хочу, чтобы мое веб-приложение обновляло / обновляло / реагировало на изменения в календаре Office 365. Возможно ли это вообще?
Мое веб-приложение работает на локальном сервере вампиров. Я попытался поместить локальный URL-адрес в качестве источника уведомлений, но это дало ошибку неверного запроса. Мое веб-приложение также запрограммировано с использованием PHP.
Если что-то неясно, скажите. Мой английский не на высшем уровне. Спасибо заранее за ваше время.
URL-адрес localhost не может быть использован в качестве уведомляющего URL-адреса, так как уведомляющий URL-адрес должен быть напрямую доступен через Интернет, поскольку другой сервер будет отправлять ему данные. Вы можете сделать так, чтобы ваш localhost wampserver опрашивал сервер уведомлений и синхронизировал данные. Вы можете использовать опрос ajax, пожалуйста, нажмите Вот для демонстрации. Также вы можете использовать Websocket, вы можете увидеть хороший пример Websocket на работе Вот. Имейте в виду, что это должно работать с большинством современных постов IE9 + и другими браузерами.
Других решений пока нет …