我正在使用google-api-ruby-client处理Google Calendar API v3。
我面临的唯一问题是两次更新活动。
之前已经讨论过这个问题(Google Calendar api v3 re-update issue),但没有ruby客户端,也没有答案。
当我添加新事件时,我会获得一个ID和一个ETAG。我使用ID来更新事件,我得到一个新的ETAG。现在如果我尝试更新第二次,它不会更新并发送400错误消息“无效值”。
我必须在第二次更新时发送最新的ETAG,但在使用google-api-ruby-client时我不确定如何发送。
以下是代码:
event = {
'summary' => "Summary",
'location' => "Location",
'description' => "Description",
'start' => {
'dateTime' => @entry.from_date
},
'end' => {
'dateTime' => @entry.to_date
}
}
result = client.execute(:api_method => service.events.update,
:parameters => {'calendarId' => @entry.calendar.gid, 'eventId'=>@entry.gid},
:body => JSON.dump(event),
:headers => {'Content-Type' => 'application/json'})
答案 0 :(得分:11)
文档在这方面非常粗略,但似乎每次进行更新时都必须增加sequence
属性。这是一种修订控制机制。