サンプル/PHP/データAPI/新商品文字列検索(アプリ向け)
ダウンロード:sample_mobadaiapi_foodsearchnew.php
<?php /** * モバイルダイエットAPI ver.1 クライアントサンプル 新商品文字列検索(アプリ向け) * * モバイルダイエットAPIを使用して新商品文字列検索(アプリ向け)を取得するサンプル<br /> * * @package MobadaiSample * @author west@imd.co.jp * @version 1.0 */ require_once 'HTTP/Request2.php'; define(APPKEY, "*****__FILL_IT!!__*****"); // このクライアントのアプリケーションキー define(APPSEC, "*****__FILL_IT!!__*****"); // このクライアントのアプリケーションシークレット define(MYSCHEME, "*****__FILL_IT!!__*****"); // スキーマ, http or https define(MYSERVER, "*****__FILL_IT!!__*****"); // サーバー名 define(MYACCESSCODE, "*****__FILL_IT!!__*****"); // アクセスコード define(MY_CHARSET, "UTF-8"); // 結果の文字コード指定 define(MY_RESTYPE, "json"); // 結果のフォーマット define(CGI_VERSION, "v"); // バージョン define(CGI_COMMAND, "c"); // コマンド define(CGI_CATEGORY, "Category"); // カテゴリー define(CGI_OPERATION, "Operation"); // コマンド define(CGI_APPKEY, "AppKey"); // アプリケーションキー define(CGI_IDSEED, "IDseed"); // 認証シード define(CGI_IDVAL, "IDval"); // 認証ハッシュ define(CGI_STRUCTDATA, "StructData"); // アップロードXML define(CGI_FORMAT, "Format"); // フォーマット define(CGI_CHARSET, "Charset"); // 文字コード $apiurl = MYSCHEME."://".MYSERVER."/services/api/".MYACCESSCODE."/"; echo "--- Request URL\n"; echo $apiurl."\r\n"; $request = new HTTP_Request2($apiurl, HTTP_Request2::METHOD_POST); $request->setConfig( array( 'timeout' => 300, 'ssl_verify_host' => false, 'ssl_verify_peer' => false, ) ); // 認証シード文字列をランダムに生成 $idseed = str_shuffle(mt_rand().time()); $xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <PartSearchSet> <word>ラーメン</word> <maxresult>10</maxresult> <genre>new</genre> </PartSearchSet>"; // リクエストパラメータを生成 $req_param = array( CGI_VERSION => 1, CGI_APPKEY => APPKEY, CGI_COMMAND => "Bn", CGI_CATEGORY => "FPS", CGI_OPERATION => "god", CGI_IDSEED => $idseed, CGI_IDVAL => sha1(APPSEC.$idseed), CGI_STRUCTDATA => $xml, CGI_FORMAT => MY_RESTYPE, CGI_CHARSET => MY_CHARSET, ); echo "--- Request Param\n"; var_dump($req_param); echo "\n"; $request->addPostParameter($req_param); try { // リクエスト送出 $response = $request->send(); } catch (Exception $e) { echo "--- Exception\n"; echo $e->getMessage(); echo "\n"; exit(0); } if( $response->getStatus() != 200 ){ echo "HTTP Response Status Error ".$response->getStatus()."\n"; exit(0); } $json_resp = json_decode($response->getBody()); echo "--- Response Param\n"; if( $json_resp ){ var_dump($json_resp); } else { echo $response->getBody(); } echo "\n"; ?>
アプリケーションキー: 53apb85KgOLhiOPG
アプリケーションシークレット: MYjNWjP7tQKaMjQzzbyGb931
$ php ./sample_mobadaiapi_foodsearchnew.php --- Request URL http://******.mobadai.jp/services/api/***/ --- Request Param array(10) { ["v"]=> int(1) ["AppKey"]=> string(16) "53apb85KgOLhiOPG" ["c"]=> string(2) "Bn" ["Category"]=> string(3) "FPS" ["Operation"]=> string(3) "god" ["IDseed"]=> string(18) "308387925105817565" ["IDval"]=> string(40) "c28907532843957617cd396b76b82a64d5973a4e" ["StructData"]=> string(163) "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <PartSearchSet> <word>ラーメン</word> <maxresult>10</maxresult> <genre>new</genre> </PartSearchSet>" ["Format"]=> string(4) "json" ["Charset"]=> string(5) "UTF-8" } --- Response Param object(stdClass)#6 (3) { ["api_result"]=> bool(true) ["api_rescode"]=> int(1) ["struct"]=> array(10) { [0]=> object(stdClass)#7 (7) { ["objectid"]=> string(26) "FObe3387f74803054068bd914e" ["name"]=> string(35) "お手軽冷し中華(ローソン)" ["unit"]=> int(261) ["stuff_e"]=> int(304) ["stuff_p"]=> float(13.413) ["stuff_f"]=> float(4.296) ["stuff_c"]=> float(51.332) } [1]=> object(stdClass)#8 (7) { ["objectid"]=> string(26) "FOb906a25f4886d16e13b5c351" ["name"]=> string(44) "そうらーめん(1人前102.1g)(永谷園)" ["unit"]=> float(102.1) ["stuff_e"]=> int(367) ["stuff_p"]=> float(10.5) ["stuff_f"]=> float(4.1) ["stuff_c"]=> float(72.1) } [2]=> object(stdClass)#9 (7) { ["objectid"]=> string(26) "FO7f41aca750ebceed1a654888" ["name"]=> string(66) "北海道みそバターラーメン(1カップ113g)(ヤマダイ)" ["unit"]=> int(113) ["stuff_e"]=> int(453) ["stuff_p"]=> int(9) ["stuff_f"]=> float(20.6) ["stuff_c"]=> int(58) } [3]=> object(stdClass)#10 (7) { ["objectid"]=> string(26) "FO52b2469651651c532c483af1" ["name"]=> string(96) "カップdeレンジ 野菜たっぷりあんかけ醤油ラーメン(1人前330g)(ニッスイ)" ["unit"]=> int(330) ["stuff_e"]=> int(336) ["stuff_p"]=> float(16.2) ["stuff_f"]=> float(7.3) ["stuff_c"]=> float(51.5) } [4]=> object(stdClass)#11 (7) { ["objectid"]=> string(26) "FO2256589b47df53106208d1e8" ["name"]=> string(44) "麺づくりざるラーメン(東洋水産)" ["unit"]=> int(180) ["stuff_e"]=> int(354) ["stuff_p"]=> float(13.8) ["stuff_f"]=> float(1.1) ["stuff_c"]=> float(72.2) } [5]=> object(stdClass)#12 (7) { ["objectid"]=> string(26) "FOd68d53ec47e99f3802ddea32" ["name"]=> string(63) "美味しさ新発見温旨新潟長岡系しょうが醤油味" ["unit"]=> int(437) ["stuff_e"]=> int(399) ["stuff_p"]=> float(10.4) ["stuff_f"]=> int(10) ["stuff_c"]=> float(66.8) } [6]=> object(stdClass)#13 (7) { ["objectid"]=> string(26) "FO63ddb3a747ba900b777b4d40" ["name"]=> string(62) "焦がし醤油風味焼きラーメン(セブンイレブン)" ["unit"]=> float(381.43) ["stuff_e"]=> int(617) ["stuff_p"]=> float(16.8943) ["stuff_f"]=> float(28.9418) ["stuff_c"]=> float(65.364) } [7]=> object(stdClass)#14 (7) { ["objectid"]=> string(26) "FO5e4b389847f43e77071afc33" ["name"]=> string(59) "グレードバリューシーフードヌードル(西友)" ["unit"]=> int(90) ["stuff_e"]=> int(326) ["stuff_p"]=> float(8.916) ["stuff_f"]=> float(13.7265) ["stuff_c"]=> float(40.798) } [8]=> object(stdClass)#15 (7) { ["objectid"]=> string(26) "FO55d7c9f447cfab972e73cd38" ["name"]=> string(56) "冷凍日清旨い一杯みそラーメン(日清食品)" ["unit"]=> int(201) ["stuff_e"]=> int(374) ["stuff_p"]=> float(13.9) ["stuff_f"]=> float(8.1) ["stuff_c"]=> float(61.5) } [9]=> object(stdClass)#16 (7) { ["objectid"]=> string(26) "FO393852735316d6f5689bf868" ["name"]=> string(57) "ジャージャー麺(1人前271g)(テーブルマーク)" ["unit"]=> int(271) ["stuff_e"]=> int(388) ["stuff_p"]=> float(12.2) ["stuff_f"]=> float(10.8) ["stuff_c"]=> float(60.4) } } }