2012-04-26 11 views
7

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'}) 

Odpowiedz