Google Calendar FreeBusy API 未显示空闲时间段

Google Calendar FreeBusy API not showing empty time slots

我有以下活动:

我正在尝试获取 timeMintimeMax 持续时间内的所有空日历时段。

然而当我在 freebusy API:

{
  "timeMin": "2021-03-25T11:42:20.698908-04:00",
  "timeMax": "2021-03-25T22:42:20.698908-04:00",
  "calendarExpansionMax": 10 #doesn't make any difference
}

我得到:

{
 "kind": "calendar#freeBusy",
 "timeMin": "2021-03-25T15:42:20.000Z",
 "timeMax": "2021-03-26T02:42:20.000Z"
}

我什至不知道它代表什么,也没有说清楚。我不确定为什么它甚至 post 我允许的 timeMax 持续时间到第二天(26 日)。

如果 freebusy api 不是解决方案,有没有人在 python 中为它构建解决方案,因为有很多 SO 答案和 libs javascript ].

您的请求中缺少参数 item[]。这是您放置请求将执行其查询的日历 ID 的位置。

您的请求参数应如下所示:

{
  "timeMin": "2021-03-25T11:42:20.698908-04:00",
  "timeMax": "2021-03-25T22:42:20.698908-04:00",
  "timeZone": "UTC-4",
  "items": [
    {
      "id": "insert the calendar id here"
    }
  ]
}

输出:

{
 "kind": "calendar#freeBusy",
 "timeMin": "2021-03-25T03:42:20.000Z",
 "timeMax": "2021-03-25T14:42:20.000Z",
 "calendars": {
  "calendar id here": {
   "busy": [
    {
     "start": "2021-03-25T11:42:20+08:00",
     "end": "2021-03-25T13:30:00+08:00"
    },
    {
     "start": "2021-03-25T15:45:00+08:00",
     "end": "2021-03-25T17:45:00+08:00"
    },
    {
     "start": "2021-03-25T19:00:00+08:00",
     "end": "2021-03-25T22:42:20+08:00"
    }
   ]
  }
 }
}

因为它只是return忙碌的时间范围,所以你必须在你的脚本中计算空闲时间。