mixi 予定表の予定一覧を iCal 形式に変換する:mixi2iCal

Posted by
ぴろり
Posted at
2006/09/10 22:08
Trackbacks
関連記事 (0)
Comments
コメント (5)
Post Comment
コメントできます
Category
ソフトウェア カテゴリ
カバーイメージ

 mixi にはマイミクの誕生日やコミュニティのイベント、予定などを一覧できる予定表があります。 私の場合、普段のスケジュール管理にはGoogle Calendarを使っているので、できればどちらかに統合したいと思っていました。

 Google Calendar は外部のスケジュール情報をiCalendarと呼ばれるフォーマットで読込むことができます。そこでこの mixi 予定表の内容を iCalendar 形式に変換する Perl スクリプトを書いてみました。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

背景

 mixiの予定カレンダーをiCal形式に変換するコンバータとか無いのかマイミクの誕生日をGoogle Calendar用のiCalデータにするを読んで、随分と前に作ろう作ろうとは思って居たのですが…ようやく完成。 勢いでドバーッって作らないとダメっぽいです(´・ω・)ゞ

 難しいところは特に無く、mixi 予定表ページの取得と解析には WWW::Mixi モジュール のお世話になりっぱなし、見よう見まねで適当に iCalendar データをでっち上げ(?)ています。iCalendar のフォーマットについてはRDFカレンダー:イベント情報の公開と活用が大変参考になりました。

機能

  • 追加した予定を取得します
  • マイミクの誕生日を取得できます
  • マイコミュニティのイベントを取得できます
  • マイコミュニティの参加表明したイベントを取得できます
  • 上記について夫々取得する/しないを選択できます

使用許諾条件

 このソフトウェアパッケージの内容については完全に無保証です。このソフトウェアパッケージの使用により生じた損害・障害の責を作者は一切負わないものとします。このソフトウェアパッケージの配布や改変に関する条件は The Artistic License に準じるものとし、これに従う限り自由にすることができます。

This code is released under the Artistic License. The terms of the Artistic License are described at http://www.perl.com/language/misc/Artistic.html

導入

 導入前に幾つかの設定が必要です。ダウンロードしたアーカイブに含まれる mixi2ical.cgi をエディタで開きます。20 〜 30 行付近にある次の行を適切に書き換えた後、保存しなおしてください。

ファイルの文字コードは EUC-jp、改行コードは LF です。

;### CGI として動作させる場合、0 以外に
use constant WORK_AS_CGI =>		1;

;### mixi のアカウント設定
use constant MIXI_MAILADDR =>	'ここにあなたの mixi ログインアカウント';
use constant MIXI_PASSWORD =>	'ここにあなたの mixi ログインパスワード';

;### スケジュールを取得する月数。1 以上。
;### 3 だったら今月、来月、再来月分を取得する。
use constant MONTHS =>			3;

 標準では予定、マイミクの誕生日、参加予定のイベントを取得しますが、 参加予定のないイベントは取得しません。必要に応じてこれらの項目を取得する/しないを設定できます。95 〜 100 行付近にある次の行を編集してください。

my $callbacks = {
	'i_sc-.gif' => { name => '予定', func => &iCalSchedule },
	'i_bd.gif' => { name => '誕生日', func => &iCalBirthday },
	'i_iv1.gif' => { name => '参加イベント', func => &iCalEventBooked },
#	'i_iv2.gif' => { name => 'イベント', func => &iCalEvent },
};

 CGI として動作させる場合は、Web サーバにアップロード後、実行パーミッションを与えておきます。コマンドラインから実行する場合には、iCalendar データが標準出力(STDOUT)に出力されるので、ファイルにリダイレクトするなどして Google Calendar からインポートします。

いろいろ

  • CGI として動作させる場合は適切な認証を施してください
  • Plagger 使えば一発ですかそうですか →○○Pla

ダウンロード

mixi2iCal をダウンロードできます。

mixi2iCal  new

ver.0.10, '06/09/10, 0, Perl
  • 初版公開

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  



関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

寄せられたコメント (全 5 件中、最新 5 件まで表示しています)

Posted by
MM
at
2012/01/11 00:36
ID
gVulCzV6
mixiの仕様が変わったのでしょうか使えなくて残念です。
開発はストップしてるんでしょうか。
使えると便利なんですが更新予定はないですか?
Posted by
ぽっぽぽっぽ
at
2007/10/18 23:04
ID
E/XObWig
非常に便利なスクリプト、とても感謝いたします。
が、まだぜんぜん使えておりません。
perl mixi2ical > schedule.ics
とすると、ガリガリと何か処理してくれるのですが、
いざグーグルカレンダーに食わせると0件で処理しました、と
出てしまいます。
webserver httpd1.42p
perl      activeperl
www::mixiの最新バージョンをperllibwwwのなかに入れています。
なにか簡単なアドバイスでもいただけると助かります。
Posted by
さとぼうさとぼう
at
2007/01/04 23:14
ID
8I8sQ/iU
どうもはじめまして。さとぼうと申します。
とっても便利そうなので利用させてもらいました!
ただ、同じ日の誕生日の人が複数いる場合は、
一番上に表示されている方の名前しか取得してもらえません。
同じ誕生日の人の名前を複数取得することは可能ですか?
Posted by
ぴろりぴろり
at
2006/12/05 19:49
ID
6SihD8JM
アーカイブに同梱のWWW::Mixiが古いと動作しない場合があるので
WWW::Mixiは最新バージョンをご利用くださいませm(_^_)m
Posted by
ぴろりぴろり
at
2006/09/20 10:28
ID
Rjg9rvnM
「Google Calendar」日本語版ベータが公開。国内の携帯電話にも対応
http://bb.watch.impress.co.jp/cda/news/15453.html
日本語化されて更に便利になってましたヽ(´ー`)ノ

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。