我正在研究谷歌日历,并且在将我在Iphone上的日历应用程序与谷歌日历之间同步数据时遇到问题。 (我使用google api v3) 问题是:我可以在创建事件后的一段时间内通过代码更新事件。下次当我尝试更新它时,我收到消息代码400:错误的请求。
我们可以使用google calendar explore来测试这个(https://code.google.com/apis/explorer/#_s=calendar&_v=v3&_m=calendars.update),创建一个事件然后更新它2时间。
有人遇到这个问题吗?
答案 0 :(得分:9)
我遇到了同样的问题并得到了答案:Google Calendar API v3 - Update Event
您可以两次编辑同一事件,只需“获取”事件序列
$event = $service->events->get("primary", $exist);
$seq=$event['sequence'];
并使用$event->setSequence($seq)
。
答案 1 :(得分:3)
您无法两次更新同一事件。相反,将第二个更新请求基于第一次更新调用中传递给回调的新事件数据(具有新的eTag),以便第二次更新它。
答案 2 :(得分:1)
以下是有关如何使用序列进行更新的Java代码示例:
Event updatedEvent;
Calendar Service;
updatedEvent.setSequence(Service.events().get(mCalendarId, updatedEvent.getId()).execute().getSequence());
Service.events().update(mCalendarId, updatedEvent.getId(), updatedEvent).execute();