如何正确使用pythoncaldav

2024-06-25 06:36:01 发布

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

我从https://pythonhosted.org/caldav/开始遵循快速入门指南,但是这个错误(谷歌不知道)总是出现。有什么想法吗

堆栈跟踪: Stack trace

client = caldav.DAVClient(url='https://caldav.yandex.ru/', username='username', password='password')
my_principal = client.principal()
calendars = my_principal.calendars()

vcal = """BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//Example Corp.//CalDAV Client//EN
    BEGIN:VEVENT
    UID:1234567890
    DTSTAMP:20100510T182145Z
    DTSTART:20100512T170000Z
    DTEND:20100512T180000Z
    SUMMARY:This is an event
    END:VEVENT
    END:VCALENDAR
    """

calendars[0]s.save_event(vcal)

Tags: httpsclienteventprincipalmyusernamepasswordcalendars
1条回答
网友
1楼 · 发布于 2024-06-25 06:36:01

我见过其他几个人也有同样的问题。上面的vcal字符串包含前导空格,这违反了icalendar标准,VOObject库将拒绝它

python caldav库的最新版本0.8.0中的错误处理已经做了一些更改,以更好地指示icalendar数据可能被破坏

你可以这样写,它看起来有点难看,但它会起作用:

vcal = """BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Client//EN
BEGIN:VEVENT
UID:1234567890
DTSTAMP:20100510T182145Z
DTSTART:20100512T170000Z
DTEND:20100512T180000Z
SUMMARY:This is an event
END:VEVENT
END:VCALENDAR
"""

相关问题 更多 >