livedoorカレンダー

livedoorメールがGmailに移行するお知らせに、こんな文面がありました。

【カレンダーについて】
新メールシステム導入に際し、カレンダーも新システムへ移行いたします。
データの移行手順については、お客様ご自身でおこなっていただく必要があります。

データ移行を各自がやるなら、移行とは言わない。単にサービスが終わるだけじゃん

livedoorカレンダーは、データのインポートが出来たり、予定を簡単にコピー出来たり、アイコンだって必要最小限だけど、よく考えて選んであって、かわいいのに。残念です。なぜ、データ移行を自分でやらなきゃいけないかと言うと、グーグルカレンダーがインポートできるiCalまたはCSV (MS Outlook) 形式の予定情報をライブドアカレンダーがエクスポートできないからなんです。

と、文句を言ってても仕方がないので、自分でデータを移行しました。

  • まず、iCal(iCalendar)の仕様を確認します。むずかしいなぁ。
  • 次に、Googleカレンダーに、データを2・3件入力し、iCal形式でエクスポートしてみる。
  • そして、最低限必要な項目だけのテストデータを作って、インポートしてみる。

出来上がった、移行データはこんな感じです。

BEGIN:VCALENDAR
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
X-LIC-LOCATION:Asia/Tokyo
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Asia/Tokyo:20070825T183000
SUMMARY:自転車受け取り
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20070826
SUMMARY:会社休み
END:VEVENT
END:VCALENDAR

これらは、4つの部分に分けられます。

BEGIN:VCALENDAR
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
X-LIC-LOCATION:Asia/Tokyo
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE

最初に上記をそのまま書きます。

BEGIN:VEVENT
DTSTART;TZID=Asia/Tokyo:20070825T183000
SUMMARY:自転車納車
END:VEVENT

BEGIN:VEVENTからEND:VEVENTまでが、ひとつの予定です。2007年8月25日18時30分に「自転車納車」という予定です。

BEGIN:VEVENT
DTSTART;VALUE=DATE:20070826
SUMMARY:会社休み
END:VEVENT

時間指定がない時は、DTSTARTの行の書き方が変わります。たくさんの予定があれば、このどちらかの書き方を繰り返していきます。

END:VCALENDAR

最後にこの1行で終わり。

ひとつの予定が4行で表現されるので、ちょいと面倒ですが、エクセルを使えば、ちょちょいのちょいですね。それにしても、livedoorカレンダーを見慣れてると、Googleカレンダーは見づらい。慣れるのかなぁ。