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

2024-04-16 07:50:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

  1. 今天是活动吗?在
  2. 活动开始了吗?在
  3. 活动还没有结束吗?在

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

有更好的方法吗?特别是,有没有什么方法可以避免遍历日历中的每个事件?在


Tags: 文件方法答案目标googlelibrary事件温度
1条回答
网友
1楼 · 发布于 2024-04-16 07:50:43

您应该使用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()

相关问题 更多 >