Google calendar api 谷歌日历v3推送通知到期
我正在使用谷歌日历推送通知。一切正常,我注册的频道没有问题。对日历的更改会按预期发出通知 然而,问题是,大约一个小时后,通知就会过期 在阅读文档时,我无法理解为什么会有到期日,因为我没有指定到期日 当频道注册时,响应实际上说明了从我注册频道开始的1周到期日-例如,2014年1月31日星期五03:23:59 GMT 然而,这不是我所经历的 有人知道这里规定的行为是什么吗 谢谢你的帮助Google calendar api 谷歌日历v3推送通知到期,google-calendar-api,google-oauth,google-apps-marketplace,Google Calendar Api,Google Oauth,Google Apps Marketplace,我正在使用谷歌日历推送通知。一切正常,我注册的频道没有问题。对日历的更改会按预期发出通知 然而,问题是,大约一个小时后,通知就会过期 在阅读文档时,我无法理解为什么会有到期日,因为我没有指定到期日 当频道注册时,响应实际上说明了从我注册频道开始的1周到期日-例如,2014年1月31日星期五03:23:59 GMT 然而,这不是我所经历的 有人知道这里规定的行为是什么吗 谢谢你的帮助 Paul默认情况下,谷歌将频道到期时间保留一周, 如何使用ttl变量将频道到期时间设置为一个月 EX: bod
Paul默认情况下,谷歌将频道到期时间保留一周, 如何使用ttl变量将频道到期时间设置为一个月
EX: body = {
"id": uuid,
"type": "web_hook" ,
"token": "something_unique",
"address": "web hook url",
"params": {
"ttl" : 864000
}
}
calendar_service = get_calendar_service(user_email)
resource = calendar_service.events().watch(calendarId='primary', body=body).execute()
这里的ttl以秒为单位,默认情况下,谷歌将频道到期时间保留一周, 如何使用ttl变量将频道到期时间设置为一个月
EX: body = {
"id": uuid,
"type": "web_hook" ,
"token": "something_unique",
"address": "web hook url",
"params": {
"ttl" : 864000
}
}
calendar_service = get_calendar_service(user_email)
resource = calendar_service.events().watch(calendarId='primary', body=body).execute()
这里的ttl以秒为单位,它将通道到期时间保持10天我也被日历API中的这个明显错误所困扰。经过两天的测试,我发现了以下问题:
body = { "params": { "ttl" : 172800 }, ....}.
这就是GoogleAPI Python客户端库所使用的,它没有任何效果。频道创建的过期时间正确,但使用服务帐户时在一小时后过期
这是一个特别糟糕的错误,因为它似乎正确创建了一个通道,但它会提前过期,并且您无法验证特定资源的哪些通道处于活动状态
到目前为止,我找到的唯一解决办法是在一小时后更新每个频道。这不是一个长期的解决办法。我将每天使用超过300000个API调用来保持频道的活跃,这是我配额中的一大块。如果一切正常,我每周最多只需要更新一次频道,而不是一天24次。日历API中的这个明显错误也困扰着我。经过两天的测试,我发现了以下问题:
body = { "params": { "ttl" : 172800 }, ....}.
这就是GoogleAPI Python客户端库所使用的,它没有任何效果。频道创建的过期时间正确,但使用服务帐户时在一小时后过期
这是一个特别糟糕的错误,因为它似乎正确创建了一个通道,但它会提前过期,并且您无法验证特定资源的哪些通道处于活动状态
到目前为止,我找到的唯一解决办法是在一小时后更新每个频道。这不是一个长期的解决办法。我将每天使用超过300000个API调用来保持频道的活跃,这是我配额中的一大块。如果一切正常,我每周最多只需要更新一次频道,而不是一天24次。此问题现已解决-请参阅以下内容:
此问题现已修复-请参阅以下内容:
谢谢你的帮助,文卡特什-我已经在谷歌开了一张罚单,他们让我设置ttl属性。他们说默认超时时间是1小时——这就是我所经历的。当我像您的示例中那样设置ttl值时,它对超时没有影响。你有什么不同的经历吗?发送watch请求后,回调具有正确的到期时间-但它被忽略,并在1小时后超时。我已更新了答案,您是否尝试了与上述示例相同的方法?上面的代码能够将通道过期时间保持10天。我的json主体是json={“id”:78,“type”:“web_hook”,“address”:“params”:{“ttl”:864000};在手表注册时,它返回