Google Calendar API观看频道我是否应该获得每种资源的推送通知?

时间:2018-02-08 22:50:13

标签: google-api-nodejs-client google-calendar-api

订阅日历频道https://developers.google.com/google-apps/calendar/v3/push时,我是否应该为每个创建的新活动获得推送通知?

在测试中,如果我创建了21个事件(每个事件间隔2秒),我会收到大约7个通知。

很难从文档中判断出我是否应该为每个创建的事件收到通知,或者我是否应该使用通知进行同步?

你们为你的应用做了什么?

2 个答案:

答案 0 :(得分:1)

我注意到了类似的情况。向下滚动到您链接的页面的最底部:

Notifications are not 100% reliable. Expect a small percentage of messages to get dropped under normal working conditions. Make sure to handle these missing messages gracefully, so that the application still syncs even if no push messages are received.

如果您在日历上调用了watch来注册/创建通知渠道,我假设他们正在进行一些限制/分组来推送粗粒度级别的通知。我自己测试一下,但我相信通过设置timeMin等于先前请求的syncTime来要求增量更改的初衷仍然适用:

https://developers.googleblog.com/2013/07/google-calendar-api-push-notifications.html

答案 1 :(得分:1)

只有当您同时使用同步令牌功能时,Google 日历手表才有意义。它们基本上是执行另一个同步的指令,这将带来 1 个或多个事件更改。您收到的消息少于 21 条的原因是 Google 对消息进行了速率限制(在您的情况下,每大约 3 秒显示一次……我的经验接近 10 秒)。

关于不是 100% 可靠的标注实际上与“只有 7 个”回调问题有点不同。直到昨天,我的经验是手表在更改后几秒钟内发送通知方面的可靠性为 99.9%。但是对于 0.1%,你会想要某种回退强制同步......可能是每小时一次,可能是登录等。