2014-09-02 147 views
2

我有一个在嵌入式Linux服务器上运行的贝加尔CalDav后端。我可以成功地创建一个日历与MKCALENDAR调用与以下机构:创建CalDav日历事件

<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

这是一个很好的链接[**建设的CalDAV客户端**](http://sabre.io/dav/building-a-caldav-client/) – 2014-09-02 03:01:11

+0

谢谢 - 看起来我现在有一些工作。 – enyal71 2014-09-02 04:41:07

回答

2

只是把大卫的评论一个合适的回答了这个问题:这是一个很好的链接: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