mixi hacks

今日、とあるホームページの打ち合わせをしていたときに閃いた。
mixiのコミュニティとかの情報を引っ張ってこれたら便利じゃね?
これいけんじゃね?


ということで、mixiから情報を引っ張ってくる試み。
作ってから、ふと思ってgoogle先生に聞いてみたところ
それらしいことをやっている人はいるみたいね。。


ソースの公開は(色々と。本当に色々とw)大丈夫そうだと思ったらにします。


とりあえず、現状の仕様。
○とってこれる情報。

  • マイミク一覧
  • コミュニティ情報
  • トピック一覧
  • トピック情報

の4つ。


それぞれの詳細

  • マイミク一覧

array (
0 => array (
 "id" => "ミクシィID",
 "name" => "ニックネーム",
 "friend" => "マイミク数",
 "status" => "ログイン情報 [1:通常] [2:1日以内にログイン] [3:1時間以内にログイン]",
),
1 => ・・・
という連想配列の配列で返ってきます。

  • コミュニティ情報

array (
 "id" => "コミュニティID",
 "title" => "コミュニティ名",
 "photo" => "コミュニティ写真URL",
 "created" => "作成日",
 "day" => "作成してからの日付",
 "owner_id" => "管理人ID",
 "owner_name" => "管理人ニックネーム",
 "category" => "カテゴリ",
 "member" => "メンバー数",
 "join" => "参加条件と公開レベル",
 "topic" => "トピックの作成権限",
 "link" => "コミュニティリンク追加権限",
 "content" => "コミュニティ紹介文",
)
という連想配列で返ってきます。

  • トピック一覧

array (
0 => array (
 "id" => "トピックID",
 "title" => "タイトル",
 "content" => "内容の抜粋",
 "owenr_id" => "作成者ID",
 "owenr_name" => "作成者ニックネーム",
 "comment" => "コメント数",
 "last_write" => "最終書き込み日",
),
1 => ・・・
という連想配列の配列で返ってきます。

  • トピック情報

array (
 "id" => "トピックID",
 "title" => "タイトル",
 "content" => "内容",
 "owner_id" => "作成者ID",
 "owner_name" => "作成者ニックネーム",
 "last_write" => "最終書き込み日",
 "comment" => array (
  0 => array (
   "id" => "コメントID",
   "content" => "内容",
   "owner_id" => "書き込みユーザID",
   "owner_name" => "書き込みユーザニックネーム",
   "write_date" => "書き込み日",
  ),
  1 => ・・・
 )
)
という連想配列で返ってきます。


アクセス方法(Zend_XmlRpc_Clientを使用した場合)
require_once('Zend/XmlRpc/Client.php');
$client = new Zend_XmlRpc_Client('http://pluswing.net/mixi/MixiRequestServer.php');
$server = $client->getProxy();
// マイミク一覧の取得
$myMixi = $server->mixi->getMyMixiList("ログインメールアドレス", "ログインパスワード");
// コミュニティ情報の取得
$community = $server->mixi->getCommunity("ログインメールアドレス", "ログインパスワード", "コミュニティID");
// トピック一覧の取得
$topicList = $server->mixi->getTopicList("ログインメールアドレス", "ログインパスワード", "コミュニティID");
// トピック情報の取得
$topic = $server->mixi->getTopic("ログインメールアドレス", "ログインパスワード", "コミュニティID", "トピックID");


mixiの中の人へ。
オイオイ!って場合は、コメントください。
速攻で削除します。