创建CalDav日历事件

时间:2014-09-02 01:39:45

标签: webdav caldav

我在嵌入式Linux服务器上运行了Baikal CalDav后端。我可以通过以下正文使用MKCALENDAR调用成功创建日历:

<C:mkcalendar xmlns:D='DAV:'xmlns:C='urn:ietf:params:xml:ns:caldav'>
    <D:set>
        <D:prop>
            <D:displayname>Test Calendar</D:displayname>
            <C:calendar-description>Calendar Description</C:calendar-description>
        </D:prop>
    </D:set>
</C:mkcalendar>

但是,我无法找到如何将事件添加到此日历的示例。

我试过以下但没有运气:

<C:mkcalendar xmlns:D='DAV:'xmlns:C='urn:ietf:params:xml:ns:caldav'>
    <D:set>
        <D:prop>
            <D:displayname>Test Calendar</D:displayname>
            <C:calendar-description>I Am Testing</C:calendar-description>
            <C:calendar-data>
              <![CDATA[
                  BEGIN:VCALENDAR
                  BEGIN:VEVENT
                  UID:test123
                  SUMMARY:Test Event
                  DTSTART=20140920T080000
                  DTEND=20140920T170000
                  END:VEVENT
                  END:VCALENDAR]]>
            </C:calendar-data>
        </D:prop>
    </D:set>
</C:mkcalendar>

有人可以指出我正确的方向,使用html调用向CalDav日历添加事件。

1 个答案:

答案 0 :(得分:3)

让大卫的评论正确回答这个问题:这是一个很好的链接:Building a CalDAV client

要在CalDAV日历中创建事件,您需要使用HTTP PUT操作。将新事件的iCalendar作为请求正文。

像:

PUT /home/meeting.ics HTTP/1.1
Host: ...
Content-Length: ...
Content-Type: text/calendar; charset=utf-8

BEGIN:VCALENDAR
BEGIN:VEVENT
UID:test123
SUMMARY:Test Event
DTSTART:20140920T080000Z
DTEND:20140920T170000Z
END:VEVENT
END:VCALENDAR