概要
mindiaに関する非公式な技術文書。
自分まとめ+誰かのために。
基本PHPです。
WordpressプラグインpublishToMindiaをリリースしたら、その時の開発を参考にmindiaをちょめちょめする情報を書いて行く予定。
色々やりながらの平行作業なので気長に御待ち下さい。
基本情報
mindiaに関する基本情報、URL、パラメータ、各所の情報。
URL
各URLの役割や意味、機能(ユーザ名は任意)。
例:
http://mindia.jp/book/kowloon
(1)トップページ
http://mindia.jp/book/ユーザ名
ユーザのトップページ(プロフィール、ブックの説明など)が表示される。
(2)キーワード
http://mindia.jp/book/ユーザ名/keywords/num/数字
ユーザのキーワード一覧を表示。
数字部分は1〜60で指定可能、デフォルト値は40。
0を指定すると全一覧表示される(バグ?)。
http://mindia.jp/book/ユーザ名/keyword_edit/キーワード名
キーワード作成の編集画面を表示。
キーワード名は任意に変更可能(例キーワード名をtestにすればtestの編集画面になる)。
http://mindia.jp/book/ユーザ名/keyword_new
キーワード作成。
POSTデータとして下記のパラメータを付与。
__token :トークン(ソースにhideとして表記されている)
title :キーワード名
version :'0'を指定
body :本文
tags :タグ(¥r¥nを区切り文字として利用(未確認))
picture_1 :画像データ
picture_2 :画像データ
picture_3 :画像データ
quick_save:'更新'を指定
(3)日記
http://mindia.jp/book/ユーザ名/entries/display/show
ユーザの日記一覧を表示
(4)設定
http://mindia.jp/book/ユーザ名/pref
ユーザの設定(自信のユーザ名やパスワードを変更等々)
パラメータ
PHP
PHPで色々やってみる場合。
下記コードの戻り値やなんかをecho or print_rとかで動作をきちんと確認していくと理解が速いかもしれません。
ログイン
array(
'method' => 'GET',
));
$loginHtml = file_get_contents('http://mindia.jp/login', false, stream_context_create($options));
preg_match('//', $loginHtml, $loginToken);
/* ログイン */
$data = array(
'__token' => $loginToken[1],
'password' => 任意のパスワード,
'preserve_key' => '0',
'ref' => '',
'submit' => 'ログイン',
'username' => 任意のユーザ名,
);
$options = array('http' => array(
'method' => 'POST',
'content' => http_build_query($data),
));
file_get_contents('http://mindia.jp/login', false, stream_context_create($options));
$cookies = array();
foreach ($http_response_header as $r) {
if (strpos($r, 'Set-Cookie') === false) {
continue;
}
$c = explode(' ', $r);
$c = str_replace(';', '', $c[1]);
$cookies[] = $c;
}
/* マイページ */
$options = array('http' => array(
'method' => 'GET',
'header' => implode("\r\n", array(
'Cookie: ' . implode('; ', $cookies)
))
));
$userHtml = file_get_contents('http://mindia.jp/my', false, stream_context_create($options));
echo $userHtml;
?>
大まかにログインする場合は
(1)ログイン画面をGETで取得
(2)取得したHTMLからトークン部分をスクレイピング
(3)トークン+その他情報をPOST
です、ログイン後はログイン時に返されるCookies情報をヘッダにつけて各ページを取得していきます。
キーワード登録
キーワード削除
キーワード編集
日記登録
日記削除
日記編集
関連Link
【本家】
http://mindia.jp/
【中の人達】
http://mindia.jp/book/nishiko
http://mindia.jp/book/satoko
http://mindia.jp/book/akkun
http://mindia.jp/book/ogiyasu
http://mindia.jp/book/takeshi_kato