当我使用Google Calendar API(Python)创建日历时,我通过将时区添加到请求消息中来设置时区:
calendar = {
'summary': 'My Title',
'description': 'My Description',
'timeZone': 'China/Shanghai'
}
gService = build('calendar', 'v3', http=self.http, developerKey='XXXXXXXX')
gService.calendars().insert(body=calendar).execute()
创建的日历具有正确的时区。这部分很好。但是当我在 http://calendar.google.com 查看日历设置时,时区配置中的"国家/地区"字段始终为"美国",即使选择的时区也是"中国时间 - 北京"。
有没有办法纠正这种行为?
看起来你应该在
'description': 'My Description',
'timeZone': 'China/Shanghai'
也就是说
'location': 'China',
我基于通用 API v3 文档。
可能是谷歌不支持中国城市的这种/符号,因为中国只有一个时区。他们也没有夏令时,所以你不必担心。
我会尝试设置
'timeZone': 'China/Shanghai'
自
"timeZone" : "China Standard Time"
我基于谷歌时区 API (https://developers.google.com/maps/documentation/timezone/) 的输出,坐标为上海:
https://maps.googleapis.com/maps/api/timezone/json?location=31.224546,121.401215×tamp=1331161200&sensor=false
给出输出:
{
"dstOffset" : 0,
"rawOffset" : 28800,
"status" : "OK",
"timeZoneId" : "Asia/Chongqing",
"timeZoneName" : "China Standard Time"
}