ぐるなびAPIのPHPでの使い方の例

記事公開日:
最終更新日:

Sponsored Links

ぐるなびAPIを使って、位置情報を使った簡単な周辺飲食店検索サイトを作った時のメモです。
周辺の飲食店のスポットを検索できるWebアプリを公開しました|ワタシハドコ?-周辺飲食店検索

ぐるなびAPIは2015/6/30日に新バージョンのURLに変更されています。下記の記事の内容は新バージョンのぐるなびAPIに修正しています。

ぐるなびAPIの使い方

ぐるなびAPIを使うには、まずユーザー登録してアクセスキーを取得する必要があります。
http://api.gnavi.co.jp/api/

APIをたたいてもエラーが出る場合には、上記のリンク先の「エラー仕様」という所にエラーコード一覧があるので参考にしてみてください。

web_gurunabi_errorcode

web_gurunabi_errorcode

基本的には以下のようにパラメーターを設定してリクエストします。XML形式で返ってきます。

//旧バージョン http://api.gnavi.co.jp/ver1/RestSearchAPI/?keyid=(発行されたアクセスキー)&range=1&sort=1
http://api.gnavi.co.jp/RestSearchAPI/20150630/?keyid=(発行されたアクセスキー)&range=1&sort=1

レスポンスの値をSimpleXMLで取り出す

ぐるなびAPIからXML形式のレスポンスが返ってくるので、PHPのSimpleXML関数を使って値を取得します。

PHPコードでは以下のような例になります。

//旧バージョン $RequestURL = 'http://api.gnavi.co.jp/ver1/RestSearchAPI/?';
$RequestURL = 'http://api.gnavi.co.jp/RestSearchAPI/20150630/?';
$APIkey = 'keyid=(発行されたアクセスキー)';
//rangeの設定。横着して定数を入れています。
$range = '&range=1';
//業態でソート。横着して定数を入れています。
$sort = '&sort=2';
//http://api.gnavi.co.jp/RestSearchAPI/20150630/?keyid=(発行されたアクセスキー)&range=1&sort=2
$ReqURL = $RequestURL.$APIkey.$range.$sort;
//simplexmlを使う
$xml = simplexml_load_file($ReqURL);
//値をとりだすには、以下ののような感じで。
foreach($xml->rest as $item){
	echo $item->name;
}

Warning: Invalid argument supplied for foreach()というエラーが出る場合

サーバーの設定によっては「Warning: Invalid argument supplied for foreach() in」みたいなエラーが出る場合があります。
これは、配列でないものをforeachしてるという警告です。

対策としては、.htaccessに以下のコードを追加して、エラー表示をOFFにします。

php_flag display_errors Off
php_flag display_startup_errors Off

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報facebookページGoogle+そしてTwitter、またRSSfeedlyLINE@にてお知らせしていますのでフォローよろしくお願い致します。


Sponsored Links