FrontPage

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

 

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-03-26 (水) 07:32:35