九龍的ヘブンズ・ドアー
(107 keywords)

最新日記

RSS
  • 日記はまだありません

九龍のお気に入り

  • kunoziのやつ kunoziのやつ
  • mindiaマネタイズ会議 mindiaマネタイズ会議
  • なおきのナレッジベース なおきのナレッジベース
  • おぎやす広辞苑 おぎやす広辞苑

九龍的ヘブンズ・ドアーのメンバー

  • akkun_choi akkun_choi
  • 西小倉パンデイロ 西小倉パンデイロ
  • 里香 里香
  • !! (^ ..O ^ ) !! SHINYA !! (^ ..O ^ ) !! SHINYA

mindia的技術文書の履歴

極秘.png

概要

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とかで動作をきんと確認していと理解が速いかもしれません。

ログイン

<?php
/* ログイン__token取得 */
$options = array('http' => array(
    'method' => 'GET',
));
$loginHtml = file_get_contents('http://mindia.jp/login', false, stream_context_create($options));
preg_match('/<input type="hidden" name="__token" value="(.*?)" id="form___token" \/>/', $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

【本家】
mindia: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