【问题标题】:How to get freebusy details in python-caldav library如何在 python-caldav 库中获取闲忙详细信息
【发布时间】:2018-07-12 19:15:40
【问题描述】:

我正在使用 python-caldav 和 vobject Python 库连接并解析来自私有 caldav 服务器的日历文件。

我终其一生都无法弄清楚如何使用这些库发出 freebusy 请求。我搜索了文档并搜索并搜索了示例,但似乎在任何地方都找不到任何信息。

如果有人有任何信息,我将不胜感激。这是 caldav 库中使用我在 repo 中找到的详细信息的示例。

url = "https://" + username + ":" + password + "@domain.com/"

client = caldav.DAVClient(url)
principal = client.principal()
calendars = principal.calendars()

calendar = calendars[1]
freebusy = calendar.freebusy_request(datetime(2018,7,12, 12, 0, 0), datetime(2018,7,13, 12, 0, 0))

它返回以下错误:

caldav.lib.error.ReportError: 406 Not Acceptable

【问题讨论】:

    标签: python icalendar caldav vobject


    【解决方案1】:

    在您进行任何编程之前,请检查 ics 提供商是否提供了忙闲信息。您应该能够从 url 下载 ics 文件并在文本编辑器中打开它以查看它包含的内容。当您知道 ics 文件中有 freebusy 时,您可以开始以编程方式处理它。

    ics 文件的提供者可能有特殊的 url 参数,但很多都没有。例如,对于 google 日历,日历设置将确定 ics 文件是否包含空闲忙碌或正常事件数据。 ics url 或请求没有什么特别之处,它是确定文件包含什么的谷歌日历内部设置。

    【讨论】:

    • 感谢您的回复。是的,我已确认提供商提供忙闲信息。我已经成功地收到了来自服务器的 VFREEBUSY iCalendar 响应,方法是使用 xml free-busy-query 有效负载发送我自己的 https 请求
    • 但是如何从 url 下载 ics 文件并在文本编辑器中打开呢?
    • 就像任何其他文件类型一样,将与 .ics 文件类型关联的默认程序更改为您的文本编辑器,而不是您的日历应用程序。
    • 要下载,请右键单击链接,将文件另存为并保存到合适的文件夹。 “打开方式”文本编辑器,或打开文本编辑器并打开文件。
    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 2017-07-19
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多