2012-04-26 7 views
7

Sto utilizzando google-api-ruby-client per lavorare con Google Calendar API v3.Google Calendar API v3 - Aggiornamento evento

L'unico problema che sto affrontando è con l'aggiornamento di un evento due volte.

È stato discusso qui prima (Google Calendar api v3 re-update issue) ma senza client rubino e nessuna risposta.

Quando aggiungo un nuovo evento ottengo un ID e un ETAG. Uso ID per aggiornare l'evento e ottengo un nuovo ETAG. Ora Se provo ad aggiornare la seconda volta, non si aggiorna e invia 400 errori con il messaggio "Valore non valido".

Devo inviare l'ultimo ETAG quando si aggiorna la seconda volta ma non sono sicuro di come inviarlo quando si lavora con google-api-ruby-client.

Ecco il codice:

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

risposta

11

La documentazione sono veramente abbozzato su questo, ma sembra si deve incrementare la proprietà sequence ogni volta che si esegue un aggiornamento. È un meccanismo di controllo di revisione.

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

+1

Funziona per me. Grazie! – TonyQ