Google CalendarAPIv3の操作にgoogle-api-ruby-clientを使用しています。
私が直面している唯一の問題は、イベントを2回更新することです。
これは以前にここで説明されていますが(Google Calendar api v3の再更新の問題)、rubyクライアントがなく、回答もありません。
新しいイベントを追加すると、IDとETAGを取得します。IDを使用してイベントを更新すると、新しいETAGが取得されます。2回目に更新しようとすると、更新されず、「値が無効です」というメッセージとともに400エラーが送信されます。
2回目の更新時に最新の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'})