Office 365日历事件通知到localhost的URL


Office 365 Calendar Event NoticificationURL to localhost

所以我使用来自office 365的通知REST API来获取日历的更改。我的订阅请求看起来是这样的(它是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")当日历发生更改时。

问题出在哪里?我的web应用程序如何查看已发布到上一个网站的数据?因为我希望我的网络应用程序在office 365的日历发生变化时能够刷新/更新/做出反应。这可能吗?

我的web应用程序运行在本地主机wampserver上。我试图将localhost url作为notificationURL,但这给出了一个错误的请求错误。我的网络应用程序也是用PHP编程的。

如果有什么不清楚的地方,一定要告诉我。我的英语不是一流的。提前感谢您抽出时间。

localhost url不能用作notificationURL,notificationURL应该可以通过互联网直接访问,因为其他服务器会将数据POST到它。您可以让localhost wampserver轮询通知服务器并同步数据。你可以使用ajax轮询,请点击这里进行演示。你也可以使用Websocket,你可以在这里看到Websocket的好例子。请记住,这应该适用于大多数现代后IE9+和其他浏览器。