GDataでカレンダーイベントを指定のタイムゾーンに日時を変換して取得する

GData Python clientでカレンダーイベントを取得すると、各カレンダーのデフォルトタイムゾーンで日時を返す。

AさんとBさんのプライベートカレンダーのデフォルトタイムゾーンが違う場合、同じイベントに参加している場合でもそのイベントの日時がAさんとBさんで違って表示されてしまう。AさんBさんならまだ問題は小さい(AさんBさんが同じタイムゾーンを設定すればよい)が、プレミアエディションのカレンダーリソースを使う場合はデフォルトでUS時間のタイムゾーンが設定されてしまう上カレンダーリソースのタイムゾーンを変更する方法が面倒くさい。

なにか良いプロパティはないかと探したら、ありました。CalendarEventQueryのctzです。

query = gdata.calendar.service.CalendarEventQuery(‘calendar_id’, ‘private’, ‘full’)
query.ctz = ‘GMT+09:00’
result = calendar_service.CalendarQuery(query)