Google日历重复活动发生的时间(Python API)

时间:2013-01-03 19:41:02

标签: python google-calendar-api

在我的程序中,我使用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)?

或者会建议如何在客户端实现它?

1 个答案:

答案 0 :(得分:3)

再次阅读文档 https://developers.google.com/google-apps/calendar/v3/reference/events/list

我发现我忽略了这一点:

  

singleEvents boolean

     
    

是否将重复活动扩展到     实例,只返回单个一次性事件和实例     重复发生的事件,但不是潜在的重复事件本身。     可选的。默认值为False。