PHP で作成したカレンダーを Kerio Connect カレンダー (iCal) と同期させようとしています。カレンダーへの接続とイベントの取得に問題はありません。しかし、新しいイベントを PUT しようとすると、空のイベントが追加されたように見えます。次に例を示します。
私の要求:
HEADERS: PUT /calendars/localhost/marcin/Calendar HTTP/1.1 Authorization: Basic bWFyY2luOnJob21hbg== Host: localhost:1212 If-None-Match: * Content-type: text/icalendar Content-Length: 367
要求: BEGIN:VCALENDAR PRODID:-//Kerio Technologies//Kerio Connect//EN METHOD:PUBLISH VERSION:2.0 X-VERSION-KMS:6.2.0 BEGIN:VEVENT DTSTART;VALUE=DATE:20120528T163000 DTEND;VALUE=DATE: 20120528T170000 シーケンス:0 概要:テスト イベント クラス:パブリック優先度:5 トランスポート:OPAQUE 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:
リクエストにどの日付/件名を入れても、作成されたイベントは常に次のようになります。コンポーネント="イベント"; メソッド="公開"; charset="utf-8" Content-Transfer-Encoding: 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が初めてで、ここ数日間これを解決しようとしています。誰かが私を助けて、私が間違っていることを教えてくれたら、それは素晴らしいことです.
よろしくマーティン