iCal形式仕様

Googleカレンダーのインポートなどに利用するiCal形式の書き方

とりあえず下記の要領で拡張子.icsで作成してやればおk

■ヘッダー

BEGIN:VCALENDAR
PRODID:-//omo469reate//hoge calendar//JP #プロダクトID
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PRIVATE
X-WR-CALNAME:hogehoge #カレンダーの名
X-WR-RELCALID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx #UID
X-WR-TIMEZONE:Asia/Tokyo

■カレンダーの中身(複数ある場合は複数)
※時間はGMTで指定のため、9時間マイナスで指定

BEGIN:VEVENT
TRANSP:OPAQUE
UID:0123456789 #一意なID(このIDが重複したら上書きされる)
DTSTART:20120101T001122Z #開始時間
DTEND:20120101T001122Z #終了時間
SUMMARY:ほげほげ #予定のタイトル
DESCRIPTION:ふがふが #予定の詳細
END:VEVENT

■フッター

END:VCALENDAR

■ハマったこと
Googleカレンダーでインポートする場合
(A)ファイルをアップロードしてインポート=問題ない
(B)ファイルのURLをコピペしてインポート=文字化けする
URLでインポートに対応するならば、perlでヘッダーを書いてやる。

print "Content-type: text/calender; charset=utf-8\n\n";
$file = "./hogehoge.ics";
open (OPEN, $data);
while($line=<OPEN>){
  print $line;
}
close OPEN;

Googleカレンダーの場合、URLインポートは別カレンダーとして扱うみたいなので、
使い方は分けたほうがよさげかも!?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>