Asp.net 谷歌对推送通知的回应

Asp.net 谷歌对推送通知的回应,asp.net,google-calendar-api,Asp.net,Google Calendar Api,我正在为谷歌日历集成创建一个应用程序。当任何人手动更改Google日历事件时,我试图从Google获得通知。因此,我在谷歌和我的应用程序之间建立了一个渠道。现在的问题是,当google将响应头发送到我的重定向URI时,我们没有任何描述,说明它们的位置是对日历的更改。请检查我们将得到的答复 POST https://mydomain.com/notifications // Your receiving URL. Content-Type: application/json; utf-8 Cont

我正在为谷歌日历集成创建一个应用程序。当任何人手动更改Google日历事件时,我试图从Google获得通知。因此,我在谷歌和我的应用程序之间建立了一个渠道。现在的问题是,当google将响应头发送到我的重定向URI时,我们没有任何描述,说明它们的位置是对日历的更改。请检查我们将得到的答复

POST https://mydomain.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: 4ba78bf0-6a47-11e2-bcfd-0800200c9a66
X-Goog-Channel-Token: 398348u3tu83ut8uu38
X-Goog-Channel-Expiration: 1367869013915
X-Goog-Resource-ID:  ret08u3rv24htgh289g
X-Goog-Resource-URI: https://www.googleapis.com/calendar/v3/calendars/my_calendar@gmail.com/events
X-Goog-Resource-State:  exists
X-Goog-Message-Number: 10

因此,有什么可以指导我如何获得事件发生更改的位置的描述。

这是最终和正确的回复(推送通知),或者至少我收到的是完全相同的回复。我建议您将上次同步日期与频道数据一起保存,每次收到此类通知时,您都会调用Google API,请求自上次同步以来已更改的事件。我唯一的问题是缺少了一件重要的事情——谷歌服务器时间。我的服务器上的时间与google上的时间不完全相同,在发送同步请求之前,我必须对updateMin参数进行调整(因此它不是一个简单的“now()”)。在获得更新的事件后,不要忘记再次保存上次同步日期:)

您需要执行增量同步(请参阅)。根据我的口味稍加修改:

应用程序需要做的第一件事是获得新的推送功能,即订阅感兴趣的日历。当日历发生变化时,谷歌会通知你的应用程序,应用程序会调用API获取更新

例如,假设您有我的日历_calendar@my-host.com。您的应用程序托管在具有my-host.com域的服务器上,推送通知应发送到HTTPS web挂钩


每次我的_calendar@my-如果host.com发生更改,Google日历服务器将在以下位置触发web挂钩回调。收到回调后,应用程序需要执行。

谷歌日历API中是否有任何函数用于在一段时间内检查更新的事件。不建议使用UpdateMin。同步令牌()是一条必由之路;)那么,X-Goog-Resource-ID不是指事件ID吗?@jtmoulia不幸的是,不是。请看下面我的答案。简言之,您需要进行同步以获得更改的事件。