UTF-8で以下の(1)〜(4)を順にprintする
1)Content-type宣言
Content-type: text/calendar
2)カレンダーのヘッダー
- BEGIN:VCALENDARだけあれば動く
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME:カレンダーのタイトル
PRODID:カレンダーを生成したアプリケーション名 適当でOK
X-WR-TIMEZONE:Asia/Tokyo
CALSCALE:GREGORIAN
METHOD:PUBLISH
VERSION:2.0
X-WR-CALNAME:カレンダーのタイトル
PRODID:カレンダーを生成したアプリケーション名 適当でOK
X-WR-TIMEZONE:Asia/Tokyo
CALSCALE:GREGORIAN
METHOD:PUBLISH
3)カレンダーの内容
- 一度に複数件登録する場合は、ここのコラムを繰り返す
ただし、Outlook2000では複数件の登録に対応してないとの情報も有り。
- URLやイベントの詳細は無くても動く
- 日時の表記:2006年2月23日17時25分30秒=20060223T172530
BEGIN:VEVENT
DTSTART;TZID=Asia/Tokyo:20060223T000000 →開始日時
DTEND;TZID=Asia/Tokyo:20060223T000001 →終了日時
SUMMARY:イベント名
DESCRIPTION:イベントの詳細
URL;VALUE=URI:関連のURL
END:VEVENT
DTSTART;TZID=Asia/Tokyo:20060223T000000 →開始日時
DTEND;TZID=Asia/Tokyo:20060223T000001 →終了日時
SUMMARY:イベント名
DESCRIPTION:イベントの詳細
URL;VALUE=URI:関連のURL
END:VEVENT
4)カレンダーのフッター
END:VCALENDAR
以上。項目の詳細、その他の項目に付いては
野村 真人の Web ページ:iCalendar仕様が参考になる。
野村 真人の Web ページ:iCalendar仕様が参考になる。
メモ
- 書き出すイベントがない場合でも、少なくともヘッダーとフッターが必要。なにもprintされないと照会中のままになってしまう。
- URLのhttp:をwebcal:に換えてブラウザからアクセス、またはiCalから照会することでwebcalで購読。
- 拡張子は.cgiでも構わないようです。(Safari2.0.3、iCal2.0.3)