用于访问CalDAV服务器的Python库

hil*_*win 2 caldav python-2.7 owncloud

我在我的网站空间上运行ownCloud以获取共享日历.现在我正在寻找一个合适的python库来获得对日历的只读访问权限.我想在Intranet网站上提供日历的一些信息.

我已经尝试了http://trac.calendarserver.org/wiki/CalDAVClientLibrary,但它总是返回一个NotImplementedError带有查询命令,所以我的猜测是查询命令不能很好地与给定的库一起工作.

我可以使用什么库?

de *_*l0r 7

我推荐库,caldav.

只读对这个库很有效,看起来很直接.它将完成获取日历和阅读事件的整个工作,以iCalendar格式返回它们.有关该caldav库的更多信息也可以在文档中获得.

import caldav

client = caldav.DAVClient(<caldav-url>, username=<username>,
                          password=<password>)
principal = client.principal()
for calendar in principal.calendars():
    for event in calendar.events():
        ical_text = event.data
Run Code Online (Sandbox Code Playgroud)

从此开始,您可以使用icalendar库来读取特定字段,例如类型(例如事件,待办事项,警报),姓名,时间等等.一个好的起点可能就是这个问题.

  • 感谢您的评论,我认为编辑是您要求的? (2认同)