我尝试使用python和caldav库访问我的日历中的所有事件,这些事件托管在Nextcloud上。 使用此代码:
client = caldav.DAVClient(url) #like "https://..../nextcloud/remote.php/dav/calendars
principal = client.principal()
calendars = principal.calendars()
我可以访问我所有的日历并在上面进行迭代。在
我怎么能只读一个名为“日历名”的特定日历?在本例中,我获取所有日历,即使我指定了日历名称:
^{pr2}$如果我用calendar_name更改最后一行代码,就会得到一个空数组。在
calendar = principal.calendar('calendar_name')
注意:我可以使用发布的第一个代码访问所有日历和事件,但所有名称都是“无”,即使Url是正确的。在
第二个代码段仍然提供所有日历,因为您首先获取帐户(
.principal()
),然后列出该帐户拥有的所有日历(principal.calendars()
)。在第三个代码段可能不起作用,因为日历的名称(display name属性,而不是URL路径组件)很可能不是
calendar_name
,而是类似于Calendar
的内容。理论上它甚至可能是空的。在要使用日历的URL访问一个日历,这可能有用,请不要尝试:
尽管出于各种原因,这样做可能更好:
^{pr2}$要解决实际问题,您需要添加更多信息。如果您想要日历的(相对或绝对)URL
如果要显式检索日历的显示名称,则可以执行以下操作:
希望这有帮助。在
相关问题 更多 >
编程相关推荐