谷歌日历API V3重新更新问题

5
我正在处理谷歌日历的问题,需要在我的iPhone上的Calendar应用程序和谷歌日历之间同步数据。(我使用谷歌API v3) 问题是:我可以通过代码更新事件,但只能在创建后更新一次。下一次尝试更新时,会收到400代码:错误请求的消息。
我们可以使用谷歌日历探索器进行测试(https://code.google.com/apis/explorer/#_s=calendar&_v=v3&_m=calendars.update),先创建一个事件,然后更新两次。
有人遇到这个问题吗?
3个回答

9

我曾经也遇到了同样的问题,得到了如下答复:Google Calendar API v3 - 更新事件

你可以编辑同一事件两次,只需“获取”事件序列即可。

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

$seq=$event['sequence'];

在设置更新事件的详细信息时,使用$event->setSequence($seq)


3

您不能两次更新同一事件。相反,基于第一次更新调用中传递给回调函数的新事件数据(具有新的eTag)来进行第二次更新请求。


嘿,我在使用google-api-ruby-client时遇到了同样的问题。你知道如何在请求中发送etag吗?https://dev59.com/KWPVa4cB1Zd3GeqP3CcR - Sharjeel
+1 这解决了我在 Google Apps Script 中遇到的同样问题。 - Fuhrmanator

2
这是一个关于如何使用序列进行更新的Java代码示例:
Event updatedEvent; 
Calendar Service;   

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接