5 votes

Problème de mise à jour de l'api v3 de Google Agenda

Je travaille sur Google Calendar et j'ai un problème avec la synchronisation des données entre mon application Calendar sur Iphone et Google Calendar. (J'utilise google api v3) Le problème est le suivant : je peux mettre à jour un événement par code juste une fois après l'avoir créé. La fois suivante, lorsque j'essaie de le mettre à jour, je reçois le message code 400 : bad request.

Nous pouvons utiliser google calendar explorer pour tester cela (https://code.google.com/apis/explorer/#\_s=calendar&\_v=v3&\_m=calendars.update) en créant un événement puis en le mettant à jour 2 fois.

Quelqu'un rencontre-t-il ce problème ?

9voto

jbsmoove Points 721

J'ai eu ce même problème et j'ai obtenu la réponse ici : API Google Calendar v3 - Mise à jour de l'événement

Vous pouvez éditer le même événement deux fois, vous devez juste "comprendre" la séquence de l'événement.

$event = $service->events->get("primary", $exist);

$seq=$event['sequence'];

et utiliser $event->setSequence($seq)

lorsque vous définissez les détails de votre événement de mise à jour.

3voto

Vous ne pouvez pas mettre à jour le même événement deux fois. Au lieu de cela, basez votre deuxième demande de mise à jour sur les nouvelles données de l'événement qui sont transmises à la callback dans le premier appel de mise à jour (qui a un nouvel eTag) pour le mettre à jour la deuxième fois.

2voto

Kristjan Pucko Points 11

Voici un exemple de code Java sur la façon de mettre à jour en utilisant la séquence :

Event updatedEvent; 
Calendar Service;   

updatedEvent.setSequence(Service.events().get(mCalendarId, updatedEvent.getId()).execute().getSequence());
Service.events().update(mCalendarId, updatedEvent.getId(), updatedEvent).execute();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X