Google Calendar API v3 - 更新活动

时间:2012-04-26 11:13:25

标签: ruby-on-rails ruby google-calendar-api

我正在使用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'})

1 个答案:

答案 0 :(得分:11)

文档在这方面非常粗略,但似乎每次进行更新时都必须增加sequence属性。这是一种修订控制机制。

http://www.kanzaki.com/docs/ical/sequence.html