Używam go-api-ruby-client do pracy z Google Calendar API v3.Google Calendar API v3 - Aktualizacja zdarzenia
Jedyny problem, który napotykam, polega na dwukrotnym zaktualizowaniu zdarzenia.
Zostało to omówione wcześniej (Google Calendar api v3 re-update issue), ale bez klienta ruby i bez odpowiedzi.
Kiedy dodaję nowe wydarzenie, otrzymuję identyfikator i ETAG. Używam ID, aby zaktualizować wydarzenie i otrzymuję nowy ETAG. Teraz Jeśli spróbuję zaktualizować po raz drugi, nie aktualizuje i wysyła błąd 400 z komunikatem "Nieprawidłowa wartość".
Muszę wysłać najnowszą wersję ETAG podczas aktualizacji po raz drugi, ale nie jestem pewien, jak to wysłać podczas pracy z klientem google-api-ruby.
Oto kod:
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'})
To działa dla mnie. Dzięki! – TonyQ