2012-04-26 31 views
7

Estoy usando google-api-ruby-client para trabajar con Google Calendar API v3.Google Calendar API v3 - Evento de actualización

El único problema que estoy enfrentando es con la actualización de un evento dos veces.

Se ha discutido aquí antes (Google Calendar api v3 re-update issue) pero sin ruby ​​client y sin respuesta.

Cuando agrego un nuevo evento, obtengo una ID y una ETAG. Uso ID para actualizar el evento y recibo un nuevo ETAG. Ahora bien, si trato de actualizar la segunda vez, no se actualiza y envía 400 error con el mensaje "Valor inválido".

Tengo que enviar la última ETAG cuando actualizo la segunda vez, pero no estoy seguro de cómo enviarla al trabajar con google-api-ruby-client.

Aquí está el código:

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

Respuesta

11

Los documentos son muy vagos en esto, pero parece que hay que incrementar la propiedad sequence cada vez que se realiza una actualización. Es un mecanismo de control de revisión.

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

+1

Funciona para mí. ¡Gracias! – TonyQ

Cuestiones relacionadas