Office 365日历事件NoticificationURL到localhost

时间:2016-04-11 15:37:15

标签: php calendar office365 office365-restapi

所以我使用office 365的Notification 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”)。

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

我的网络应用程序在localhost wampserver上运行。我试图将localhost url作为notificationURL,但是它给出了错误的请求错误。我的网络应用程序也使用PHP进行编程。

如果有什么不清楚的话。我的英语不是顶尖的。提前感谢您的时间。

1 个答案:

答案 0 :(得分:0)

localhost url不能用作notificationURL,notificationURL应该可以通过互联网直接访问,因为其他服务器会将数据发送给它。您可以让localhost wampserver轮询通知服务器并同步数据。您可以使用ajax轮询,请单击here进行演示。也可以使用Websocket,您可以在工作中看到Websockets的良好示例here。请记住,这应该适用于最现代的IE9 +和其他浏览器。