Google Calendar API v3推送通知不遵守timeMax或timeMin

时间:2016-03-23 00:11:27

标签: javascript node.js google-calendar-api

你好SO的人,

我正在使用带有node.js的Google Calendar API,在小窗口(约24小时)内为与事件相关的推送通知注册webhook。我的timeMintimeMax参数未受到尊重,我的webhook正在受到日历的任何更改(在边界和界限内)的影响。

我尝试过包含singleEvents : true,从时间戳中删除ms,各种时区偏移字符串 - Z(即.toISOString()),+00:00+0000 - 我只使用一次性活动(没有经常性事件)。我使用的是有效的OAuth令牌,而不是服务帐户。我的请求工作正常,目前看起来像这样:

GCal.events.watch({
    auth: _oa2Client,
    calendarId : calID,
    singleEvents : true,
    timeMax : timeMax.toISOString().replace('Z', '+00:00'),
    timeMin : timeMin.toISOString().replace('Z', '+00:00'),
    resource : {
        id : channelID,
        type: 'web_hook',
        address : config.google.CALENDAR_EVENTS_WEBHOOK_URL,
        token: querystring.stringify(token),
        expiration: timeMax.getTime()
    }
}, callback);

对于我的生活,我无法弄清楚我做错了什么。谁能指出我正确的方向?帮助类似events.list边界问题的解决方案在这里没有帮助。

1 个答案:

答案 0 :(得分:1)

解决此类问题的一个好方法是以交互方式使用Google API Explorer:https://developers.google.com/apis-explorer/#p/calendar/v3/calendar.events.watch 您可以尝试timeMin和timeMax的值,并查看他们的文档。

文档说要使用RFC3339时间戳,这可能与您使用的ISO格式不同。