Skip to main content
 首页 » 编程设计

python之如何使用 Python 确定 Google 日历中的当前事件

2025年05月04日21arxive

我正在构建一个恒温器,它可以从 Google 日历中获取目标温度。这样做时,我需要确定所述 Google 日历中现在正在发生的事件。目前,我正在从谷歌获取 .ics 文件,然后用 Python icalendar library 解析它。 .

然后我遍历日历中的每个事件并测试:

  1. 是今天的事件吗?
  2. 事件开始了吗?
  3. 事件还没结束吗?

检查每个事件后(假设没有重叠事件),我得到一个事件,其中三个问题的答案都是肯定的。这是当前事件。

有更好的方法吗?特别是,是否有任何方法可以避免遍历日历中的每个事件?

请您参考如下方法:

你应该使用 Google Calendar API .您可以向它询问特定时间段内的事件,它会以一些不错的 JSON 响应,为您提供信息。甚至还有一个 Python 客户端负责将您的请求与 JSON 进行相互转换。

没有直接查询当前事件的方法,但您当然可以给它一个有限的最短和最长时间,这样您就只能搜索少量事件。如果您的事件是有规律的并且持续时间可预测,您也许可以让它只给您一个。

events = client.events().list(calendarId='primary', 
                              timeMin='2011-12-22T09:00:00Z', 
                              timeMax='2011-12-22T22:00:00Z').execute()