私のプログラムでは、google-api-python-clientを使用してCalendarAPIに接続しています。次の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
}
上記のイベントは数か月前に作成された定期的なイベントであり、「start」フィールドと「end」フィールドは作成日を反映しています。'timeMin'と'timeMax'の範囲で数回発生するため、結果のリストにはこのイベントのコピーがいくつかあります。
ここで、問題は、イベントが正確に発生したdateTimeがないことです(この場合は2013-01-04T00:08:00 + 01:00である必要があります)。Google Calendar APIからその時間を取得できるかどうか誰かが知っていますか(私はPythonパッケージを介してバージョン3を使用しています)?
または、クライアント側でそれを実装する方法を提案しますか?