リクルートAPIを利用して、カーセンサーの物件情報をWordPressで表示する。
カーセンサーが提供している外部APIの情報をWordpressで出力する方法を忘れないうちにメモしておきます。
APIキーの取得方法
リクルートWebサービスより、APIキーを取得します。
https://webservice.recruit.co.jp/
新規登録からメールアドレスを入力すると、
指定のメールアドレスに自分のAPIキーが受信されます。
APIキーの設定方法
- 中古車検索APIを利用して、1つの中古車情報を取得してみます。
- 外部APIの取り込み
- データの取得
- XMLから展開
- エラー発生時はメッセージを表示
http://webservice.recruit.co.jp/carsensor/usedcar/v1/?key=[自身のAPIキー]&id=[物件id]
外部APIをWordpressで取り込む場合、wp_remote_getを使用します。
wp_remote_getで取得した情報より、データを取得する場合はwp_remote_retrieve_bodyを使用。
SimpleXMLElementを使用して、XMLデータをWordpressで処理できる形に変更する。
ここからサンプルプログラム
function get_carsenser($car_id, &$error_message){ //URLの作成 $tmp_url = "http://webservice.recruit.co.jp/carsensor/usedcar/v1/"; $tmp_url.= "?key=".[自身のAPIキー]; //ユーザーキー $tmp_url.= "&id=".$car_id; //対象中古車ID //外部API接続 $carsenser = wp_remote_get($tmp_url, array('timeout' => 5)); //エラーメッセージを表示し、WordPressの処理を中断する if(is_wp_error($carsenser)){ $error_message = $carsenser->get_error_message(); }elseif($carsenser['response']['code'] != 200){ $error_message = $carsenser['response']['message']; }else{ //対象データの戻り値を取得 $carsenser_body = wp_remote_retrieve_body($carsenser); //simplexmlで読み込む前に「&」を「&」に置換する $carsenser_body = preg_replace('/&(?=[a-z_0-9]+=)/m','&',$carsenser_body); //xmlを読み込む $xmls = new SimpleXMLElement($carsenser_body); $xml = $xmls[0]; } return $xml; } $car = get_carsenser([物件ID], $error_message); if($error_message!=''){ //API取得に失敗した場合、画面上に情報を表示する。 echo esc_html($error_message); }else{ //API取得に成功した場合、画面上に情報を表示する。 if($car->usedcar->id==""){ //値が存在しない場合は、削除された可能性がある。 echo 'ご指定のお車情報は存在しません'; }else{ //正常にデータ取得できた場合、一覧で表示する。 print_r($car); } }