もしもAPIをphpで使ってみる -8ページ目

いよいよ、もしも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を返してます。
もっと真面目にやるなら、結果のステータスとか、エラー事由などもチェックした方がいいと思いますが、今回は手を抜きます。

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

ペタしてね

初期設定ファイル

もう一つ、実際にもしもAPIを使う前に、初期設定ファイルを作っておきます。
ショップIDとAPIで必要な認証コードを設定できるようにします。
ショップIDは、管理画面に入れば、右上にあります。認証コードは、もしもAPIの説明のところから利用申請してもらってください。

あと、ランキングは何位まで表示するかと、
もしもAPIは、1認証コード当たり1秒に1回程度の要求を受け付けられるとあり、あまり負荷をかけないようにキャッシュを使うことを考えて、キャッシュを置くディレクトリと有効時間をセットしておくことにします。


<?php
$shop_id= "1"; //ショップID
$authorization_code="1234567890123456789"; //認証コード
$max_rank = 10; //ランキング何位まで表示
$cache_dir= ""; //キャッシュディレクトリ
$cache_time = 24*3600; //キャッシュ有効時間(秒)
?>




メインの方では、このファイルを読み込むのを追加します。


<?php
mb_regex_encoding("UTF-8");
mb_internal_encoding("UTF-8");

require_once('config.php');
require_once('urllist.php');


?>


ペタしてね

絶対役立つサイト1

もしもドロップシッピングをやっているひとならなら、絶対に役立つサイトを紹介します。
徐々に増やしていくので、たまには、チェックしてね。