= miby : Mixi from Ruby
((警告))
このバージョン(0.0.x)のMibyは完全なテスト版です。実用に耐える機能は備えていません。
自分のソフトウェアに組み込んだり、日常的利用することは大変危険です。もちろん、利用により何らかの被害や損害が出た場合も一切保証しません。
== Mibyとは?
Miby(みびぃ) は Ruby から mixi の日記を操作するライブラリです。
マイミクの日記リストを取得したり、自分の日記を書く事ができます。
=== 目的
Emacsからmixiの日記の読み書きを行う事を目標に作成した Mixi for Emacs(未公開) が原型です。
Mixiとやり取りするバックエンド部分をライブラリ化しました。
自作のツール等でmixiのページ情報が必要な時に使われる事を想定しています。
=== できる事
- mixiへのログイン
- 日記の追加
- マイミクの最新日記一覧
- 日記の表示・コメントの追加
- 新着コメントの確認
=== できない事
- mixiからのログアウト
- 日記: アイコン・タグの挿入
- 日記: 写真の追加
- 日記: 日記公開範囲の指定
- マイミク日記リスト: 外部サイトの日記
- プロフィール・メッセージ・動画・フォト・ミュージック・レビュー・ニュース 全般
- その他 諸々
== 更新情報
- 2008/01/28: miby-0.0.2
- bug: Mixi.friend_diary(page_count) の page_count が Fixnum でも受け付けるように修正
- bug: Mixy.list_friend で2件目以降の表示がおかしかったのを修正
- change: Mixi.list_diary の variables に owner_id を追加
- 2008/01/25: miby-0.0.1
== 必要なソフトウェア
== 導入
=== ダウンロード
RubyForgeのプロジェクトページからダウンロードできます。
=== インストール
MibyはRubyGemsに対応しています。gemを使って以下のようにインストールできます。
gem install miby-x.x.x.gem
gemを利用しない場合は、解凍したファイルをそのまま適当にコピーして利用してください(gemファイルはtarアーカイブです)。
// gemはディレクトリを掘らないので自分で掘ります
mkdir miby
mv miby-x.x.x.gem
cd miby
tar xvf miby-x.x.x.gem
// ファイルは data.tar.gz にアーカイブされています。
tar zxvf data.tar.gz
cp -r ../miby 任意のパス
=== 設定
miby.conf.sample をコピーして必要な設定を行ってください。
設定は @name = "val" 形式です。
mbiy.conf.sample miby.conf
==== 設定項目
:http_address
mixiのアドレス。通常は mixi.jp
:http_port
ポート番号。通常は80。
:proxy_host
PROXYを使う場合のホスト名。使用しない場合はnil。
:proxy_port
PROXYを使う場合のポート番号。使用しない場合はnil。
=== ログイン管理
mixiは一般的なWEBサイトと同様にCookieを使ってユーザのログイン処理を行っています。
Mibyでは必要に応じて自動でログインを行います(要メールアドレス・パスワード)。
一度ログインすると etc/user.yaml というファイルにCookieを保存してmixiとのセッションに利用しています。
他のユーザでログインする場合やうまくページを取得できない場合はこの user.yaml を削除してください。
== 使い方
=== 基本的な使い方
Mibyには試験用のクライアントとして bin/miby が付属しています。
動作確認などにはこの試験クライアントを使ってください。
bin/miby は Miby::Mixi のインスタンスを生成して引数のメソッドを発行するだけです。例えば以下のように実行するとマイミクの最新日記リストを取得して各アイテムの内容を標準出力に表示します。
$ ruby bin/miby friend_diary
----------item list-----------
page name: friend_diary
item size: 50
name: hoge title:test diary date::Fri Jan 04 10:32:00 + id:0000000 owner_id:00000
...デフォルトでは先頭から5アイテム表示
引数なしで実行すると簡単なヘルプを表示します。
0.0.1
command:
list_diary 自分の日記リスト
friend_diary マイミクの最新日記リスト
view_diary_diary id owner_id 日記ID(ID)とMixiID(owner_id)を指定して日記本文
view_diary_comment id owner_id 日記ID(ID)とMixiID(owner_id)を指定して日記コメント
ライブラリの使い方はdoc/index以下のrdocドキュメントを参照してください。
== ファイル構成
ChangeLog
Rakefile
Readme.rd(このファイル)
bin/
-- miby(試験用mibyクライアント) doc/ etc/ |-- miby.conf |-- pagedb.yaml(ページ定義データベース(YAML)) |-- test_miby.conf |-- test_pagedb.yaml |-- test_user.yaml
-- user.yaml(ユーザーcookie情報(YAML))
exam/
lib/
|-- base.rb
|-- config.rb
|-- http.rb
|-- miby.rb
|-- mixi.rb
|-- page.rb
|-- pagedb.rb
-- user.rb test/ |-- test_config.rb |-- test_http.rb |-- test_mixi.rb |-- test_page.rb |-- test_pagedb.rb |-- test_setup.rb
-- test_user.rb
== 既存の問題
mixiの仕様が変更されると利用できなくなります。
== 関連リンク集
== ライブラリドキュメント
doc/index.html を参照してください。
doc/ がない場合は トップディレクトリで rake コマンドを実行してください。
$ rake
== 開発先
RubyForge.org で開発しています。