我正在测试床网站上测试Google Calendar Api的event list
功能。根据{{1}}和timeMin
值,响应不会列出事件。这是两个案例。在这两种情况下,我应该在9:30到9:45之间得到一个回复。但它没有出现在第一种情况下(时间范围:9:00到10:00),但它出现在第二种情况下(时间范围:9:00到15:00)。直到将时间范围延长到15:00才行。为什么api表现奇怪?
timeMax
Case 1:
timeMin: 2015-11-06T09:00:00Z
我的要求:
timeMax: 2015-11-06T10:00:00Z
响应:
GET https://www.googleapis.com/calendar/v3/calendars/MY_EMAIL%40gmail.com/events?timeMax=2015-11-06T10%3A00%3A00Z&timeMin=2015-11-06T09%3A00%3A00Z&fields=description%2Citems(attendees%2Cdescription%2Cend%2Cid%2Cstart%2Csummary)%2Csummary%2CtimeZone&key={YOUR_API_KEY}
{
"summary": "some summary",
"timeZone": "America/New_York",
"items": [
]
}
Case 2:
timeMin: 2015-11-06T09:00:00Z
我的要求:
timeMax: 2015-11-06T15:00:00Z
响应:
GET https://www.googleapis.com/calendar/v3/calendars/MY_EMAIL%40gmail.com/events?timeMax=2015-11-06T15%3A00%3A00Z&timeMin=2015-11-06T09%3A00%3A00Z&fields=description%2Citems(attendees%2Cdescription%2Cend%2Cid%2Cstart%2Csummary)%2Csummary%2CtimeZone&key={YOUR_API_KEY}
答案 0 :(得分:0)
这些时间是UTC(从您第一次请求的时间间隔开始):
timeMin: 2015-11-06T09:00:00Z
timeMax: 2015-11-06T10:00:00Z
这些时间被抵消:-05:00
(来自第二次请求的结果):
"dateTime": "2015-11-06T09:30:00-05:00"
"dateTime": "2015-11-06T09:45:00-05:00"
由于偏移,您的第一个时间间隔不包括那些时间。
<强>更新强>
@jaykumarark和我聊了聊这个,在我看来他没有遗漏任何东西 - 为了使用这个API,你必须提供一个RFC3339兼容的日期戳,包括时区(Z或偏离UTC)所以你可以'让服务器为你做时区偏移计算。