いよいよ、もしもAPIを使うところ | もしもAPIをphpで使ってみる

いよいよ、もしもAPIを使うところ

実は、結構簡単なんです。

人気ブログランキングへ

ちょっと、カッコよくclassとかにした方がいいのかもしれませんが、あまり使い慣れていないので、普通の関数でいきます。

あとで、他のにも使いまわせるので、やはり、別ファイルgetmoshiapi.phpに作成します。
いままで同様、文字コードはUTF-8にします。

まずは、汎用的に$optionsにパラメータを入れて呼び出せば、もしもAPIから検索結果を返してくれる中核部です。

<?php
function getmoshi_basic ($authorization_code, $options="") {
$search_url = "http://api.moshimo.com/article/search";
$request = $search_url . "?authorization_code=$authorization_code" . $options;

$response = file_get_contents($request);
$ArticleSearch = simplexml_load_string($response);

if($ArticleSearch->Rows > 0){
return $ArticleSearch;
}
return false;
}
?>


ね、簡単でしょ。$requestにもしもAPIにアクセスするためのパラメータをセットしたURLをいれて、
file_get_contents()を呼べば、結果がXMLとなって返ってきます。
それを、simplexml_load_string()に渡せば、オブジェクトと呼ばれる形式にしてくれます。
この形式になっていると、もしもAPIの仕様書で商品情報のレスポンスの一番左のパラメータの名前で情報を取り出せます。パラメータのところをみるとインデントされているものがありますが、一段インデントされていると「->」を使って表します。

例えば、ArticleSearchより一段インデントしたところにRowsはあるので、$ArticleSearch->Rows
Statusは、ArticleSearchより一段インデントしたところのResultのさらに一段インデントされたところにあるので、$ArticleSearch->Result->Statusで取り出せます。

ここでは、出力件数Rowsを見て、出力件数があれば、結果オブジェクを返し、ない場合は、falseを返してます。
もっと真面目にやるなら、結果のステータスとか、エラー事由などもチェックした方がいいと思いますが、今回は手を抜きます。

次回は、これに、キャッシュ機能を追加したいと思います。

ペタしてね