FrontPage

サンプル/PHP/データAPI/食品リレーション検索(アプリ向け)

サンプルコード

ダウンロード:sample_mobadaiapi_foodrelation.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' ?>
<objectset>
    <id>FO29240fd24566d0583eace35c</id>
    <id>FOc3571f944566d05841da4085</id>
    <prefix>1</prefix>
</objectset>";

	// リクエストパラメータを生成
	$req_param	= array(
		CGI_VERSION		=> 1,
		CGI_APPKEY		=> APPKEY,
		CGI_COMMAND		=> "Bn",
		CGI_CATEGORY	=> "RFL",
		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_foodrelation.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) "RFL"
  ["Operation"]=>
  string(3) "god"
  ["IDseed"]=>
  string(20) "94473317497139311587"
  ["IDval"]=>
  string(40) "22eb62a71a6024c98af4b0dfe06e35e36a673667"
  ["StructData"]=>
  string(184) "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<objectset>
    <id>FO29240fd24566d0583eace35c</id>
    <id>FOc3571f944566d05841da4085</id>
    <prefix>1</prefix>
</objectset>"
  ["Format"]=>
  string(4) "json"
  ["Charset"]=>
  string(5) "UTF-8"
}

--- Response Param
object(stdClass)#6 (2) {
  ["api_result"]=>
  bool(true)
  ["struct"]=>
  array(2) {
    [0]=>
    object(stdClass)#7 (2) {
      ["objectid"]=>
      string(26) "FO29240fd24566d0583eace35c"
      ["related"]=>
      array(30) {
        [0]=>
        string(26) "FO602dd9eb47944ae36e71e45e"
        [1]=>
        string(26) "FOf47edc2e462da61c2e7f6e4a"
        [2]=>
        string(26) "FOc3571f944566d05841da4085"
        [3]=>
        string(26) "FO3cc1bb8745d44ff97ba8c6fe"
        [4]=>
        string(26) "FO9a58f57646c9455b3ecac928"
        [5]=>
        string(26) "FO53e252d245d44ff7718e3607"
        [6]=>
        string(26) "FOb9f4992245d44ff87944cb7d"
        [7]=>
        string(26) "FO9aa1d80c4aa75f7b76d71a05"
        [8]=>
        string(26) "FO71459ef445d44ffa64c46c37"
        [9]=>
        string(26) "FO9eedac51468c854c6294b589"
        [10]=>
        string(26) "FObeb1160245d44ff82c0e6780"
        [11]=>
        string(26) "FOa48f78c2454ac40e3d220532"
        [12]=>
        string(26) "FOf0cc1b2c4bcfab686f56463e"
        [13]=>
        string(26) "FO23eefda746b0469800c210dd"
        [14]=>
        string(26) "FO20c3c18b472962b91341d56d"
        [15]=>
        string(26) "FO7155bbe04a0a880b151d6e0d"
        [16]=>
        string(26) "FO89890d7b46d3086c2dfa76d7"
        [17]=>
        string(26) "FO363216da483a288023b18b5b"
        [18]=>
        string(26) "FO17fa8b50467b8dc61e43e219"
        [19]=>
        string(26) "FO57c1a1634737def76634c9a4"
        [20]=>
        string(26) "FOdf7853cb4785d9ab024be7d0"
        [21]=>
        string(26) "FO77a197a346d308186d20fcfb"
        [22]=>
        string(26) "FO76dca53a478ec43722d0650f"
        [23]=>
        string(26) "FO28aaf53b46777d026232bba4"
        [24]=>
        string(26) "FO20b20972466f591a524be3d3"
        [25]=>
        string(26) "FOccd489d8469307c32c56a238"
        [26]=>
        string(26) "FO89f54cfe479964ab474e3485"
        [27]=>
        string(26) "FO1363ce7445d44ffb53e135cb"
        [28]=>
        string(26) "FOdd62921d467626a77d712af9"
        [29]=>
        string(26) "FO2814daaa4742877c4b3870ed"
      }
    }
    [1]=>
    object(stdClass)#8 (2) {
      ["objectid"]=>
      string(26) "FOc3571f944566d05841da4085"
      ["related"]=>
      array(30) {
        [0]=>
        string(26) "FO602dd9eb47944ae36e71e45e"
        [1]=>
        string(26) "FOf47edc2e462da61c2e7f6e4a"
        [2]=>
        string(26) "FO29240fd24566d0583eace35c"
        [3]=>
        string(26) "FO3cc1bb8745d44ff97ba8c6fe"
        [4]=>
        string(26) "FOb9f4992245d44ff87944cb7d"
        [5]=>
        string(26) "FO71459ef445d44ffa64c46c37"
        [6]=>
        string(26) "FOa48f78c2454ac40e3d220532"
        [7]=>
        string(26) "FO363216da483a288023b18b5b"
        [8]=>
        string(26) "FO7d2e0e054666526c37c5d5a6"
        [9]=>
        string(26) "FO77a197a346d308186d20fcfb"
        [10]=>
        string(26) "FOf0cc1b2c4bcfab686f56463e"
        [11]=>
        string(26) "FO20c3c18b472962b91341d56d"
        [12]=>
        string(26) "FO89890d7b46d3086c2dfa76d7"
        [13]=>
        string(26) "FO9a58f57646c9455b3ecac928"
        [14]=>
        string(26) "FObeb1160245d44ff82c0e6780"
        [15]=>
        string(26) "FO53e252d245d44ff7718e3607"
        [16]=>
        string(26) "FO540b7be246b6d4134a21974d"
        [17]=>
        string(26) "FO17fa8b50467b8dc61e43e219"
        [18]=>
        string(26) "FO1425f9ac4785c8d32f5a7e30"
        [19]=>
        string(26) "FO1363ce7445d44ffb53e135cb"
        [20]=>
        string(26) "FO26a31797469c6a95232ff62c"
        [21]=>
        string(26) "FO57c1a1634737def76634c9a4"
        [22]=>
        string(26) "FO01192397471c08790585fb12"
        [23]=>
        string(26) "FO73987e474691956c5ff5d3bb"
        [24]=>
        string(26) "FO05efa76c48854ce156adbd77"
        [25]=>
        string(26) "FOcebd6471462da6397fb598e0"
        [26]=>
        string(26) "FO89010ded4689cf6757509b60"
        [27]=>
        string(26) "FO9eedac51468c854c6294b589"
        [28]=>
        string(26) "FOdd62921d467626a77d712af9"
        [29]=>
        string(26) "FO89f54cfe479964ab474e3485"
      }
    }
  }
}

 

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