0

因此,我使用 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"

我用我的访问令牌和电子邮件将它传递给 office API,它工作正常。当日历发生更改时,我可以在网站上看到结果(“ https://mywebhook.azurewebsites.net/view/reservation ”)。

问题出在哪里?我的网络应用程序如何查看发布到上一个网站的数据?因为我希望我的 Web 应用程序在 Office 365 日历发生更改时刷新/更新/反应。这甚至可能吗?

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

如果有什么不清楚的,请告诉。我的英语不是一流的。在此先感谢您的时间。

4

1 回答 1

0

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

于 2016-04-12T09:45:25.550 回答