ホームページ > インターネット > iCalendar

iCalendar 仕様

iCalendar コンテンツの作成にとりあえず役立ちそうな情報の抜書き。(正確な仕様は RFC にあたること)

目次

仕様書

iCalendar は RFC で定義されている。

全般

構造

   
BEGIN:VCALENDAR
PRODID:
VERSION:2.0
METHOD:PUBLISH
   
   
BEGIN:VTIMEZONE
TZID:...
   
   
BEGIN:STANDARD
	:
END:STANDARD
   
   
BEGIN:DAYLIGHT
	:
END:DAYLIGHT
   
   
END:VTIMEZONE
   
   
BEGIN:VEVENT
ORGANIZER:MAILTO:CI5M-NMR@asahi-net.or.jp
DTSTART;VALUE=DATE:20001009
DTEND;VALUE=DATE:20001010
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=MO;BYMONTH=10;BYSETPOS=2;WKST=SU
LOCATION:
TRANSP:TRANSPARENT
SEQUENCE:
UID:
DTSTAMP:
CATEGORIES:
DESCRIPTION:
	:
SUMMARY:
PRIORITY:
CLASS:PUBLIC
END:VEVENT
   
   
END:VCALENDAR
   

詳細

BEGIN, END

(RFC2445 4.4, 4.6) VCALENDAR, VTIMEZONE などすべてのコンポーネントは、必ず
BEGIN:コンポーネント名
ではじまり
END:コンポーネント名
で終わらなければならない。

VCALENDAR

(RFC2445 4.7)

CALSCALE
(RFC2445 4.7.1) ?????????????????? 今のところ、定義済みはデフォルトの GREGORIAN だけ。
PRODID
(RFC2445 4.7.3) 必須。iCalendar オブジェクトを生成したアプリケーションの識別情報。
VERSION
(RFC2445 4.7.4) 必須。RFC2445 は 2.0。
METHOD
(RFC2445 4.7.2) ???? 値には PUBLISH, REQUEST がある? MIME メッセージで使用する場合、Content-type "method" の値と一致しなければならない。
(RFC2446) ??????????????????????

VTIMEZONE

(RFC2445 4.6.5) タイムゾーンの情報を定義する。TZID と、最低1つの STANDARD または DAYLIGHT の定義を含んでいなければならない。

日本の場合は次の記述でよい?

BEGIN:VTIMEZONE
TZID:Japan
BEGIN:STANDARD
DTSTART:19390101T000000
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
END:STANDARD
END:VTIMEZONE
TZID
必須。タイムゾーンを識別するための文字列。
STANDARD
(RFC2445 4.6.5) 標準時刻の情報。DTSTART, TZOFFSETFROM, TZOFFSETTO を含まなければならない。

ただし Microsoft Outlook 2000 (以下 Outlook) では DTSTART を省略している?

DTSTART
タイムゾーンの使用がはじまった日時???
TZOFFSETFROM
(RFC2445 4.8.3.3) VTIMEZONE に必須。現在のタイムゾーンがはじまる前に使われていたタイムゾーンの UTC からのオフセット???(夏時間がある地域の場合は、夏時間のオフセット???)
TZOFFSETTO
VTIMEZONE に必須。現在のタイムゾーンの UTCからのオフセット???
DAYLIGHT
夏時間の情報。DTSTART, TZOFFSETFROM, TZOFFSETTO については STANDARD に同じ。

VALARM

(RFC2445 4.6.6) 未調査。

VEVENT

ORGANIZER
(RFC2445 4.8.4.3) カレンダー・コンポーネントのOrganizer(主催者)情報。グループのスケジュール・カレンダーをもつコンポーネントには必須。
ORGANIZER;CN=NOMURA Mahito:MAILTO:CI5M-NMR@asahi-net.or.jp
CONTACT
(RFC2445 4.8.4.2) カレンダー・コンポーネントに関連した情報のコンタクト先。
DTSTART
(RFC2445 4.8.2.4) 開始日時。定期的なイベントの場合は、最初の分の開始日時。
タイムゾーンを明示する場合は、
DTSTART;TZID=Japan:19970714T133000
のようにあらかじめ VTIMEZONE で宣言した TZID を指定する。
DTEND
(RFC2445 4.8.2.2) 終了日時。定期的なイベントの場合は、最初の分の終了日時。(祝日のように終日の場合は、翌日の 00:00:00 を指定すればよい?)
RRULE
(RFC2445 4.8.5.4) 定期的なイベントについて、頻度、月日、間隔などの規則。
RRULE;FREQ=DAILY;COUNT=10
(DTSTART の日から同一時刻で毎日、全10回)

以下の指定可能な属性は (RFC2445 4.3.10) を参照。

BYMONTH
実際の月の指定。
BYMONTHDAY
BYMONTH と組み合わせて、実際の日の指定。マイナスの場合は、DTSTART から値の分だけ先行する期間。
BYDAY
LOCATION
(RFC2445 4.8.1.7) 場所の指定。
TRANSP
(RFC2445 4.8.2.7) 設定した時間の状態。OPAQUE (デフォルト), TRANSPARENT が指定可能。

Outlook では「予定の公開方法」に反映される。これがなかったり TRANSP:OPAQUE だと「予定あり」、TRANSP:TRANSPARENT が指定されていると「空き時間」

SEQUENCE
(RFC2445 4.8.7.4) リビジョンのシーケンス番号。カレンダーコンポーネントがはじめて作成された時に0、Organizerによる修正更新があるたびに増分。
UID
(RFC2445 4.8.4.7) Unique Identifier、全世界でユニークな永続的ID。RFC 822 の addr-spec に従ったシンタックスを推奨。
メールやネットニュースのMessage-IDみたいなものか。
DTSTAMP
(RFC2445 4.8.7.2) オブジェクトの作成日時。

Outlook では必須。

CATEGORIES
(RFC2445 4.8.1.2) コンポーネントを分類するためのカテゴリー。

Outlook の「分類」に対応。

SUMMARY
(RFC2445 4.8.1.12) カレンダー・コンポーネントの短いサマリまたはサブジェクト。
件名、見出しに相当。
DESCRIPTION
(RFC2445 4.8.1.5) SUMMARY に対して、カレンダー・コンポーネントの完全な説明。
本文に相当。
PRIORITY
(RFC2445 4.8.1.9) 相対的な優先度を示す整数。最低は0(優先度なし)。
CLASS
(RFC2445 4.8.1.3) アクセス許可の区分。PUBLIC(デフォルト), PRIVATE, CONFIDENTIAL が定義済み
RELATED-TO
(RFC2445 4.8.4.5) 他のカレンダー・コンポーネントとの関連を示す。通常、該当するコンポーネントのUIDを指定。
RELTYPE
(RFC2445 4.2.15) RELATED-TO で示される他コンポーネントとの関係を明示する。PARENT(デフォルト), CHILD, SIBLING

テンプレート

テンプレート。

BEGIN:VCALENDAR
PRODID:-//NOMURA Mahito//Manually//EN
METHOD:PUBLISH
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Japan
BEGIN:STANDARD
DTSTART:19390101T000000
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:
DTSTAMP:
SUMMARY:
LOCATION:
DESCRIPTION:
DTSTART;TZID=Japan:
DTEND;TZID=Japan:
RRULE:FREQ=;INTERVAL=;BYMONTH=;BYMONTHDAY=
CATEGORIES:
TRANSP:TRANSPARENT
PRIORITY:0
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

実装

Outlook 2000 用の .ICS を作る過程で気づいたことのメモ。


Copyright (c) 2000-2001 野村 真人 (NOMURA Mahito) <CI5M-NMR@asahi-net.or.jp>
2000年10月作成