7

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

1 回答 1

10

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

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

于 2012-05-15T04:07:18.240 回答