いよいよ、もしもAPIを使うところ
実は、結構簡単なんです。

ちょっと、カッコよくclassとかにした方がいいのかもしれませんが、あまり使い慣れていないので、普通の関数でいきます。
あとで、他のにも使いまわせるので、やはり、別ファイルgetmoshiapi.phpに作成します。
いままで同様、文字コードはUTF-8にします。
まずは、汎用的に$optionsにパラメータを入れて呼び出せば、もしもAPIから検索結果を返してくれる中核部です。
ね、簡単でしょ。$requestにもしもAPIにアクセスするためのパラメータをセットしたURLをいれて、
file_get_contents()を呼べば、結果がXMLとなって返ってきます。
それを、simplexml_load_string()に渡せば、オブジェクトと呼ばれる形式にしてくれます。
この形式になっていると、もしもAPIの仕様書で商品情報のレスポンスの一番左のパラメータの名前で情報を取り出せます。パラメータのところをみるとインデントされているものがありますが、一段インデントされていると「->」を使って表します。
例えば、ArticleSearchより一段インデントしたところにRowsはあるので、$ArticleSearch->Rows
Statusは、ArticleSearchより一段インデントしたところのResultのさらに一段インデントされたところにあるので、$ArticleSearch->Result->Statusで取り出せます。
ここでは、出力件数Rowsを見て、出力件数があれば、結果オブジェクを返し、ない場合は、falseを返してます。
もっと真面目にやるなら、結果のステータスとか、エラー事由などもチェックした方がいいと思いますが、今回は手を抜きます。
次回は、これに、キャッシュ機能を追加したいと思います。

ちょっと、カッコよく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を返してます。
もっと真面目にやるなら、結果のステータスとか、エラー事由などもチェックした方がいいと思いますが、今回は手を抜きます。
次回は、これに、キャッシュ機能を追加したいと思います。
