Вопрос о повторном обновлении API Календаря Google v3 - PullRequest
5 голосов
/ 20 декабря 2011

Я работаю над календарем Google и испытываю проблемы с синхронизацией данных между моим приложением Календарь на Iphone и Календаре Google.(Я использую Google API v3). Проблема в том, что я могу обновить событие по коду только 1 раз после того, как я его создал.В следующий раз, когда я пытаюсь обновить его, я получаю код сообщения 400: неправильный запрос.

Мы можем использовать Google Calendar исследовать, чтобы проверить это (https://code.google.com/apis/explorer/#_s=calendar&_v=v3&_m=calendars.update), создав событие, а затем обновите его 2 раза.

Кто-нибудь сталкивается с этой проблемой?

Ответы [ 3 ]

9 голосов
/ 28 мая 2012

У меня была такая же проблема, и я получил ответ здесь: Google Calendar API v3 - событие обновления

Вы можете редактировать одно и то же событие дважды, вам просто нужно «получить» последовательность событий

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

$seq=$event['sequence'];

и используйте $event->setSequence($seq)

при настройке сведений о событии обновления.

3 голосов
/ 22 декабря 2011

Вы не можете обновить одно и то же событие дважды.Вместо этого основывайте свой второй запрос на обновление на новых данных события, которые передаются обратному вызову в первом вызове обновления (с новым eTag), чтобы обновить его во второй раз.

1 голос
/ 11 октября 2012

Вот пример кода Java для обновления с использованием последовательности:

Event updatedEvent; 
Calendar Service;   

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