在我的程序中,我使用google-api-python-client连接到Calendar API。 我使用以下方法查询接下来3天的事件:
service = build(serviceName='calendar', version='v3', http=http)
events = service.events().list(
calendarId=calendarId,
timeMin='2013-01-04T00:00:00+01:00',
timeMax='2013-01-06T00:00:00+01:00').execute()
结果是一个事件列表,在Python字典中建模,大致看起来像这样(我省略了一些不必要的数据):
{
u'created': u'2012-11-26T00:54:43.000Z',
u'description': u'abc abc',
u'start': {u'dateTime': u'2012-11-26T08:00:00+01:00',
u'timeZone': u'Europe/Copenhagen'},
u'end': {u'dateTime': u'2012-11-26T10:00:00+01:00',
u'timeZone': u'Europe/Copenhagen'},
u'kind': u'calendar#event',
u'recurrence': [u'RRULE:FREQ=DAILY'],
u'sequence': 0
}
上述事件是几个月前创建的重复事件,“开始”和“结束”字段反映了创建日期。结果列表中会有多个此事件的副本,因为它在'timeMin'和'timeMax'范围之间多次出现。
现在,问题是我没有事件确切发生的日期时间(在这种情况下应该是2013-01-04T00:08:00 + 01:00)。任何人都知道我是否可以通过Google Calendar API获取该时间(我通过他们的python包使用版本3)?
或者会建议如何在客户端实现它?
答案 0 :(得分:3)
再次阅读文档 https://developers.google.com/google-apps/calendar/v3/reference/events/list
我发现我忽略了这一点:
singleEvents boolean
是否将重复活动扩展到 实例,只返回单个一次性事件和实例 重复发生的事件,但不是潜在的重复事件本身。 可选的。默认值为False。