我正在使用python订阅日历事件的EWS推送通知。 https://msdn.microsoft.com/en-us/library/office/dd636171(v=exchg.80).aspx
当与谷歌做同样的事情时,您会在第一个请求中收到“过期”日期,因此您知道何时需要续订订阅。
我如何知道EWS订阅何时到期,以便续订?
答案 0 :(得分:4)
推送通知没有真正的超时属性。正如time-out section in the documentation:
所提到的,Exchange推送通知的工作方式略有不同如果服务器没有收到推送通知的响应或 状态ping,它重试多次发送通知 它停止发送通知。
所以你没有订阅一定的时间。只要您回复服务器并确认收到通知,您就会收到通知。当您停止向每个推送通知发送status pings时,服务器将停止向您发送通知。
可以在初始订阅请求中使用StatusFrequency - 元素指定Exchange服务器应重试多少次并询问您status ping
。您只需指定服务器在放弃并停止向您发送通知之前请求您确认的分钟数。
Webdav101's article on the topic非常好,他声明由于某种原因,订阅停止时会有一些回退代码。如果您暂时没有收到通知,可以通过简单地发出新的推送订阅来处理。