Google calendar api 晚上7点之后的Google日历事件直到第二天才使用Google Events API检索

Google calendar api 晚上7点之后的Google日历事件直到第二天才使用Google Events API检索,google-calendar-api,Google Calendar Api,我更新了这个问题,因为这个问题比原来的问题更有意义。我仍然包括我用来显示发生了什么的测试代码 关于我所发现的更多最新信息,请参见评论 已执行API以获取今天的事件(应该有1个): 它什么也找不到。不返回任何事件 如果我执行以下(即第二天): 它检索设置为24日(但在晚上7点之后)而不是25日的以下内容: { "kind": "calendar#events", "etag": "\"GZxpEFttRDAOmLHnWRxLHHWPGwk/01XVNYQjwJ5jTmd05uIgK9e6Uhw

我更新了这个问题,因为这个问题比原来的问题更有意义。我仍然包括我用来显示发生了什么的测试代码

关于我所发现的更多最新信息,请参见评论

已执行API以获取今天的事件(应该有1个):

它什么也找不到。不返回任何事件

如果我执行以下(即第二天):

它检索设置为24日(但在晚上7点之后)而不是25日的以下内容:

{
 "kind": "calendar#events",
 "etag": "\"GZxpEFttRDAOmLHnWRxLHHWPGwk/01XVNYQjwJ5jTmd05uIgK9e6Uhw\"",
 "summary": "test calendar",
 "description": "test calendar",
 "updated": "2013-04-24T13:09:12.000Z",
 "timeZone": "America/Chicago",
 "items": [
  {
   "kind": "calendar#event",
   "etag": "\"GZxpEFttRDAOmLHnWRxLHHWPGwk/Z2NhbDAwMDAxMzY2MTQ4ODczODI3MDAw\"",
   "id": "d1mdj3dasor22f0nm0lbohru7s",
   "status": "confirmed",
   "htmlLink": "https://www.google.com/calendar/event?eid=ZDFtZGozZGFzb3IyMmYwbm0wbGJvaHJ1N3MgYnZzdG9vbHMuY29tX2xidWt1ZmlnczJjMmFycjViODgycDVhYWhvQGc",
   "created": "2013-04-16T21:47:53.000Z",
   "updated": "2013-04-16T21:47:53.827Z",
   "summary": "this should happen 4/24/2013",
   "description": "testing event",
   "creator": {
    "email": "{my email address}",
    "displayName": "my name"
   },
   "organizer": {
    "email": "{calid}",
    "displayName": "test calendar",
    "self": true
   },
   "start": {
    "dateTime": "2013-04-24T21:21:19-05:00"
   },
   "end": {
    "dateTime": "2013-04-24T21:21:19-05:00"
   },
   "iCalUID": "d1mdj3dasor22f0nm0lbohru7s@google.com",
   "sequence": 0,
   "extendedProperties": {
    "private": {
     "evtKey": "key"
    }
   },
   "reminders": {
    "useDefault": true
   }
  }
 ]
}
它应该在24日的第一次api调用中检索它,而不是25日的第二次api调用,除非我遗漏了什么


有什么想法吗?谢谢

有点晚了,但如果你还需要的话。我认为您检索到的事件似乎位于日历的默认时区,即美国/芝加哥。这就解释了为什么只有当您将查询设置为UTC时间25日时才会显示它。好的,我一直在玩这个,我认为它与日历事件上的时间有关。我发现,如果我将活动时间更新到晚上7点之前的任何时间,它都会抓住它。晚上7:00以后就不会了,如果你想抓住它,你需要指定第二天。有没有一个场景会说“过一段时间后不要抓东西?”我也会去看看,但这似乎很奇怪。没有,我什么都没找到。为什么它把晚上7点以后的事情当作第二天,试图按日期检索事件。我做了更多的挖掘,发现其他人有相关的问题。从2008年开始。谷歌团队中有没有人可以调查此事?这应该很容易重现。我相信你是对的。有趣。现在,我需要了解如何使用时区而不是UTC查询时间,或者如何通过UTC检索时间。谢谢我不使用直接在链接中插入参数的get请求,但我想它应该是
timeMin=2013-04-24T00:00:00.000TAmercia/Chicago
。如果失败了,别怪我,干杯:)。如果您使用java,他们有一个google客户端库,您可以在其中设置查询对象的时区。实际上,我需要做的是将输入的时间转换为UTC,并以这种方式发送,而不是按输入的方式发送。:)你能澄清一下这里的解决方案吗?我也有同样的问题,但我不确定你是如何解决的。
/calendar/v3/calendars/{calid}/events?calendarId={calid}&singleEvents=true&timeMin=2013-04-25T00:00:00.000Z&timeMax=2013-04-26T00:00:00.000Z
{
 "kind": "calendar#events",
 "etag": "\"GZxpEFttRDAOmLHnWRxLHHWPGwk/01XVNYQjwJ5jTmd05uIgK9e6Uhw\"",
 "summary": "test calendar",
 "description": "test calendar",
 "updated": "2013-04-24T13:09:12.000Z",
 "timeZone": "America/Chicago",
 "items": [
  {
   "kind": "calendar#event",
   "etag": "\"GZxpEFttRDAOmLHnWRxLHHWPGwk/Z2NhbDAwMDAxMzY2MTQ4ODczODI3MDAw\"",
   "id": "d1mdj3dasor22f0nm0lbohru7s",
   "status": "confirmed",
   "htmlLink": "https://www.google.com/calendar/event?eid=ZDFtZGozZGFzb3IyMmYwbm0wbGJvaHJ1N3MgYnZzdG9vbHMuY29tX2xidWt1ZmlnczJjMmFycjViODgycDVhYWhvQGc",
   "created": "2013-04-16T21:47:53.000Z",
   "updated": "2013-04-16T21:47:53.827Z",
   "summary": "this should happen 4/24/2013",
   "description": "testing event",
   "creator": {
    "email": "{my email address}",
    "displayName": "my name"
   },
   "organizer": {
    "email": "{calid}",
    "displayName": "test calendar",
    "self": true
   },
   "start": {
    "dateTime": "2013-04-24T21:21:19-05:00"
   },
   "end": {
    "dateTime": "2013-04-24T21:21:19-05:00"
   },
   "iCalUID": "d1mdj3dasor22f0nm0lbohru7s@google.com",
   "sequence": 0,
   "extendedProperties": {
    "private": {
     "evtKey": "key"
    }
   },
   "reminders": {
    "useDefault": true
   }
  }
 ]
}