Google 日历 API 多一天的全天活动?

Google Calendar API all day event spanning an extra day?

在我的 Google 日历中,它位于 America/Toronto 时区,我有一个事件标记为 2022 年 4 月 13 日的全天,但它又开始于2022-04-13 至 2022-04-14 结束。我还有一些其他全天活动以同样的方式表现。

这发生在我的代码中,但当我在这里尝试使用 API 测试表单时也是如此:

https://developers.google.com/calendar/api/v3/reference/events/list

带参数:

这 returns 我得到以下回复(某些字段被屏蔽):

 "kind": "calendar#events",
 "etag": "\"p328ftm5rim7ve0g\"",
 "summary": "My Test Calendar",
 "updated": "2022-04-12T18:36:40.074Z",
 "timeZone": "America/Toronto",
 "accessRole": "owner",
 "defaultReminders": [],
 "nextSyncToken": "xxx-xxxx_cCEJD-2LuVj_cCGAUg8t3t0QE=",
 "items": [
  {
   "kind": "calendar#event",
   "etag": "\"3299577200148000\"",
   "id": "xxxxga02nqb11ub6dm29dgg9t",
   "status": "confirmed",
   "htmlLink": "https://www.google.com/calendar/event?eid=xxxxxxnYTAybnFiMTF1YjZkbTI5ZGdnOXQgY19uZ2hqOXFzb25tYjRtNDRqN2doaTNxNzY5a0Bn&ctz=UTC",
   "created": "2022-04-12T18:36:39.000Z",
   "updated": "2022-04-12T18:36:40.074Z",
   "summary": "Dummy Event",
   "creator": {
    "email": "xxxxxx",
    "displayName": "xxxxxx"
   },
   "organizer": {
    "email": "xxxxxxx@group.calendar.google.com",
    "displayName": "My Test Calendar",
    "self": true
   },
   "start": {
    "date": "2022-04-13"
   },
   "end": {
    "date": "2022-04-14"
   },
   "transparency": "transparent",
   "iCalUID": "xxxxx@google.com",
   "sequence": 0,
   "reminders": {
    "useDefault": false
   },
   "eventType": "default"
  }
 ]
}

我尝试在请求中提供 'America/Toronto' 和 'UTC' 作为 timeZone 参数,但这并没有改变任何东西。

任何人都可以建议如何让全天活动仅跨越它应该发生的那一天吗?

顺便说一下,您可以在下面看到该事件仅在一天内发生:

这是 日历 API 的预期行为。全天活动持续 24 小时。从开始日期的午夜持续到第二天的午夜。

Event Resource里面也写着end是独占的

另一种解决方案是 -1 响应正文的结束日期或手动绘制时间。但是,如果您尝试通过绘制时间来手动创建全天事件,它只能持续 23.5 小时