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 スクリプトを書いてみました。

このエントリーをはてなブックマークに追加  

背景

 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
  • 初版公開

このエントリーをはてなブックマークに追加  



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

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

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

寄せられたコメント (全 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について を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。