iCalendarフォーマットの予定をNode.jsでparseする

icalというnpmパッケージがあるので、これを利用すると素朴にiCal形式のデータを読み取ってオブジェクトとして扱うことができます。

var parser = require('ical');
var url = "http://〜/plan.ics";

parser.fromURL(url, {}, function(err, data) {
  for(var plan in data) {
    console.log(data[plan]);
  }
});

とやると、以下の様な形で予定をparseすることができます。

{ type: 'VEVENT',
  params: [],
  start: { Mon, 13 Oct 2014 08:30:00 GMT tz: undefined },
  dtstamp: '20141013T083000Z',
  created: '20141013T083000Z',
  'last-modified': '20141013T083000Z',
  end: { Mon, 13 Oct 2014 09:00:00 GMT tz: undefined },
  summary: '◯☓ミーティング',
  organizer: 'hideack',
  uid: '*****@****',
  description: '定例です',
  location: '',
  sequence: '1',
  status: 'CONFIRMED',
  transparency: 'OPAQUE' }

便利そう。素朴にできるシリーズでした。