首页 文章

Google Calendar API:使用Ruby gem更新活动

提问于
浏览
1

我正在使用https://github.com/google/google-api-ruby-client连接到不同的Google API,尤其是Google日历 .

创建一个事件,更新它并删除它,大部分时间都是通常可以找到的事件 .

在上次更新事件日期之后尝试更新事件详细信息时,会出现此问题 . 在这种情况下,提供的ID不够,请求失败并显示错误:

SmhwCalendar :: GoogleServiceException:序列值无效 . 400

然而,文档没有提到这样的事情:https://developers.google.com/google-apps/calendar/v3/reference/calendars/update

事件文档确实描述了sequence属性,但没有多说:https://developers.google.com/google-apps/calendar/v3/reference/events/update

  • 更新活动需要什么?

  • 是否有特定属性可以跟踪创建,更新事件ID以外的事件?

  • ruby google api客户端如何处理这些?

2 回答

  • 0

    我想Cannot Decrease the Sequence Number of an Event的答案也适用于此 . 序列号不能减少(如果你没有像提供0那样't supply it, it'),某些操作(例如时间变化)会使序列号产生碰撞 . 确保始终使用最新的事件副本(响应中提供的副本) .

  • 0

    @luc答案非常正确,但这里有一些细节 .

    Google API文档目前尚不清楚(https://developers.google.com/google-apps/calendar/v3/reference/events/update) .

    您应该考虑第一个响应包含序列号0.第一个更新应包含该序列号(以及 Headers 和描述等) . 对该请求的响应将包含一个增量序列号(在本例中为1),您应该在下次更新时存储和重用该序列号 .

    虽然第一次更新意味着序列号为0(和工作)如果你没有传递任何第二次可能仍然通过但第三次可能不会(因为它期望1作为序列) .

    因此该属性可能看起来是可选的,但实际上它根本不是可选的 .

相关问题