サンプル/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)
}
}
}