我正在尝试将 PHP 编写的日历与 Kerio Connect 日历(iCal)同步。我在连接日历和获取事件方面没有问题。但是当我尝试 PUT 任何新事件时,似乎添加了空事件,例如:
我的请求:
标题:PUT /calendars/localhost/marcin/Calendar HTTP/1.1 授权:基本 bWFyY2luOnJob21hbg== 主机:localhost:1212 If-None-Match:* 内容类型:text/icalendar 内容长度:367
请求:开始:VCALENDAR PRODID:-//Kerio Technologies//Kerio Connect//EN 方法:发布版本:2.0 X-VERSION-KMS:6.2.0 开始:VEVENT DTSTART;值=日期:20120528T163000 DTEND;值=日期: 20120528T170000 序列:0 摘要:测试事件类别:公共优先级:5 传输:不透明 X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-LABEL:0 END:VEVENT END:VCALENDAR
响应:HTTP/1.1 201 创建 允许:OPTIONS、TRACE、GET、HEAD、DELETE、PUT、COPY、MOVE、PROPFIND、PROPPATCH、SEARCH、SUBSCRIBE、UNSUBSCRIBE、POLL、BDELETE、BCOPY、BMOVE、BPROPPATCH、BPROPFIND、LOCK、UNLOCK连接:关闭 内容长度:0 内容类型:文本/html 日期:2012 年 5 月 27 日星期日 13:33:04 GMT ETag:1f353abd967f4700b8dc18f4d4775ff30000003400000001 位置:/calendars/localhost/marcin/Calendar/ Repl-UID:ResourceTag:
不管我请求什么日期/主题,创建的事件总是如下所示:主题:日期:星期日,2012 年 5 月 27 日 15:33:04 +0200 内容类型:文本/日历;组件="事件"; 方法="发布"; charset="utf-8" 内容传输编码:8bit
BEGIN:VCALENDAR PRODID:-//Kerio Technologies//Kerio Connect//EN METHOD:PUBLISH VERSION:2.0 X-VERSION-KMS:6.2.0 BEGIN:VEVENT DTSTAMP:20120527T133304Z UID:10a69ad8-07f1-4831-a015-4de3dac78351 TRANSP :OPAQUE X-MICROSOFT-CDO-BUSYSTATUS:BUSY END:VEVENT END:VCALENDAR
所以没有主题,也没有日期(DTSTART,DTEND);我尝试发送空请求:BEGIN:VCALENDAR BEGIN:VEVENT END:VEVENT END:VCALENDAR
结果是一样的。
我是 calDAV 的新手,最近几天我一直在尝试解决这个问题。如果有人可以帮助我并告诉我我做错了什么,那就太棒了。
最好的问候马丁