Google calendar api 为什么在Google日历中使用singleEvents=false时会列出重复事件的编辑实例?

Google calendar api 为什么在Google日历中使用singleEvents=false时会列出重复事件的编辑实例?,google-calendar-api,Google Calendar Api,我创建了一个重复事件,重复3天 然后,当我使用搜索时: calendarService.events().list("primary").setTimeMin(min).setTimeMax(max).setSingleEvents(false).setShowDeleted(false).execute(); 我只得到了潜在的复发事件: Event ID: cq61agdr4sbdnfj7rfbpbk2pro Summary: Google Calendar API test event

我创建了一个重复事件,重复3天

然后,当我使用搜索时:

calendarService.events().list("primary").setTimeMin(min).setTimeMax(max).setSingleEvents(false).setShowDeleted(false).execute();
我只得到了潜在的复发事件:

Event ID: cq61agdr4sbdnfj7rfbpbk2pro 
Summary: Google Calendar API test event 
Status: confirmed 
Event Start/End: {"dateTime":"2017-05-17T15:24:53.000+02:00","timeZone":"Europe/Berlin"} {"dateTime":"2017-05-17T16:24:53.000+02:00","timeZone":"Europe/Berlin"}
Recurrence: [RRULE:FREQ=DAILY;COUNT=3]
RecurringEventId: null
到目前为止还不错,但当我(通过谷歌日历网页)只编辑其中一个重复,并重复之前相同的搜索时,我还得到了已编辑的事件(第二个,你可以看到我更改了摘要):


为什么在实例被更改后,我在使用
setSingleEvents(false)
的查询中获得重复事件的实例?

这是预期的行为。尚未找到明确解释日历事件行为的文档,但根据您提供的详细信息和参数说明:

是否将定期事件扩展为实例,并仅返回单个一次性事件和定期事件实例,而不返回基础定期事件本身。可选。默认值为False


如果定期事件的实例被修改,它将被视为不同于通常的定期事件(即单一一次性事件),从而使
定期
为空,我假设这是一个参数,它检查一个事件是否有资格为
singleEvents
返回,并且
RecurringEventId
用于跟踪它最初来自哪个重复事件。

Hi@AL.,我不确定是否同意。如您所见,修改后的实例仍然指向父事件,因为它仍然具有RecurringEventId属性:cq61agdr4sbdnfj7rfbpbk2pro。重复属性仅由父级(根据Google Docs,底层重复事件)控制,该属性保存重复信息。嘿,Robson。我懂了。然而,这种行为仍然存在,修改后的事件似乎变成了非重复事件,并被标记为单独的一次性事件。尽管如此,仍然找不到任何官方文件来讨论这个问题。干杯
Event ID: cq61agdr4sbdnfj7rfbpbk2pro 
Summary: Google Calendar API test event 
Status: confirmed 
Event Start/End: {"dateTime":"2017-05-17T15:24:53.000+02:00","timeZone":"Europe/Berlin"} {"dateTime":"2017-05-17T16:24:53.000+02:00","timeZone":"Europe/Berlin"}
Recurrence: [RRULE:FREQ=DAILY;COUNT=3]
RecurringEventId: null

Event ID: cq61agdr4sbdnfj7rfbpbk2pro_20170518T132453Z 
Summary: foo bar Google Calendar API test event  
Status: confirmed 
Event Start/End: {"dateTime":"2017-05-18T15:24:53.000+02:00","timeZone":"Europe/Berlin"} {"dateTime":"2017-05-18T16:24:53.000+02:00","timeZone":"Europe/Berlin"}
Recurrence: null
RecurringEventId: cq61agdr4sbdnfj7rfbpbk2pro