この記事は時間経過やプログラムのバージョンアップなどの諸々の事情によって,現状に正しくそぐわない内容になっている可能性があります。関連記事やアーカイブを参照してみてください。
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 です。
標準では予定,マイミクの誕生日,参加予定のイベントを取得しますが, 参加予定のないイベントは取得しません。 必要に応じてこれらの項目を取得する/しないを設定できます。 95 〜 100 行付近にある次の行を編集してください。
CGI として動作させる場合は,Web サーバにアップロード後,実行パーミッションを与えておきます。 コマンドラインから実行する場合には,iCalendar データが標準出力(STDOUT)に出力されるので, ファイルにリダイレクトするなどして Google Calendar からインポートします。
|
mixi2iCal
ver.0.10, '06/09/10, 0, Perl
|
開発の継続のためには、技術書の購入やバグの修正、新機能の追加、コメント欄でのユーザサポートなど、意外にお金と時間を費やします。そこで、「ビールでも奢ってやるか」ですとか「これで牛丼(並)でも食え」と仰るお方からのお申し出をいつでも受け付けております。どうぞ、よろしくお願いいたしますm(_ _)m
寄付金の送付には PayPal の小額決済をご利用いただけます。
寄せられたコメント (全 4 件中、最新 5 件まで表示しています)
非常に便利なスクリプト、とても感謝いたします。
が、まだぜんぜん使えておりません。
perl mixi2ical > schedule.ics
とすると、ガリガリと何か処理してくれるのですが、
いざグーグルカレンダーに食わせると0件で処理しました、と
出てしまいます。
webserver httpd1.42p
perl activeperl
www::mixiの最新バージョンをperl\lib\wwwのなかに入れています。
なにか簡単なアドバイスでもいただけると助かります。
どうもはじめまして。さとぼうと申します。
とっても便利そうなので利用させてもらいました!
ただ、同じ日の誕生日の人が複数いる場合は、
一番上に表示されている方の名前しか取得してもらえません。
同じ誕生日の人の名前を複数取得することは可能ですか?
アーカイブに同梱のWWW::Mixiが古いと動作しない場合があるので
WWW::Mixiは最新バージョンをご利用くださいませm(_^_)m
「Google Calendar」日本語版ベータが公開。国内の携帯電話にも対応
http://bb.watch.impress.co.jp/cda/news/15453.html
日本語化されて更に便利になってましたヽ(´ー`)ノ