FrontPage

サンプル/PHP/ユーザーAPI/栄養充足率の取得

サンプルコード

ダウンロード:sample_mobadaiapi_extraservice_UserMealAnalyzeDay1.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_AUTHTYPE,	"UserAuth");	// 認証タイプ
	define(CGI_USERID,		"uid");			// ユーザーID
	define(CGI_LOGINID,		"loginid");		// ログインID
	define(CGI_PASSWORD,	"password");	// パスワード
	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";
	
	$my_uid		= '****対象アカウントのモバイルダイエットID****';	// どちらか必須
	$my_loginid	= '****対象アカウントのログインID****';				// どちらか必須
	$my_password	= '****パスワード****';
	
	$request = new HTTP_Request2($apiurl, HTTP_Request2::METHOD_POST);
	$request->setConfig(
		array(
			'timeout' => 300,
			'ssl_verify_host'	=> false,
			'ssl_verify_peer'	=> false,
		)
	);

	if( $my_uid ){
		$idkey	= CGI_USERID;
		$idval	= $my_uid;
	}
	if( $my_loginid ){
		$idkey	= CGI_LOGINID;
		$idval	= $my_loginid;
	}

	// クエリーを作成
	$xml	= "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<CallService>
  <ServiceName>UserMealAnalyzeDay1</ServiceName>
  <Param>
    <date>2014/01/10</date>
  </Param>
</CallService>";
	
	// リクエストパラメータを生成
	$req_param	= array(
		CGI_VERSION		=> 1,
		CGI_APPKEY		=> APPKEY,
		CGI_COMMAND		=> "Bu",
		CGI_CATEGORY	=> "XST",
		CGI_OPERATION	=> "cal",
		CGI_AUTHTYPE	=> "userhashbb",
		$idkey			=> $idval,
		CGI_PASSWORD	=> sha1(APPSEC.$my_password),
		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 ){
		foreach($json_resp->struct as $rv){
			// stuffid 栄養素ID
			// stuffname 栄養素名称
			// value 摂取量
			// border 基準量
			// perc 充足率
			// unitname 単位
			echo $rv->stuffname."(".$rv->stuffid.") ".$rv->value."/".$rv->border."(".$rv->unitname.") ".$rv->perc."%\n";		}
	}
	echo "\n";

?>
 

実行例

アプリケーションキー: MsFv4r72HTSff3q1
アプリケーションシークレット: 7DBWE68DLJ1Q1tz6F5iunpdp

$ php ./sample_mobadaiapi_extraservice_UserMealAnalyzeDay1.php
--- Request URL
http://******.mobadai.jp/services/api/***/
--- Request Param
array(11) {
  ["v"]=>
  int(1)
  ["AppKey"]=>
  string(16) "MsFv4r72HTSff3q1"
  ["c"]=>
  string(2) "Bu"
  ["Category"]=>
  string(3) "XST"
  ["Operation"]=>
  string(3) "cal"
  ["UserAuth"]=>
  string(10) "userhashbb"
  ["loginid"]=>
  string(4) "west"
  ["password"]=>
  string(40) "f2132c72cdee7cc420ab2ab13999a7bb368b45b4"
  ["StructData"]=>
  string(187) "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<CallService>
    <ServiceName>UserMealAnalyzeDay1</ServiceName>
    <Param>
        <date>2014/01/10</date>
    </Param>
</CallService>"
  ["Format"]=>
  string(4) "json"
  ["Charset"]=>
  string(5) "UTF-8"
}

--- Response Param
カロリー(stuff_e) 2135.1778/1716(kcal) 124%
蛋白質(stuff_p) 78.4558/50(g) 157%
飽和脂肪酸(stuff_fac1) 14.9984/5.75(g) 261%
n-6系多価不飽和脂肪酸(stuff_fac6) 13.91/11(g) 126%
n-3系多価不飽和脂肪酸(stuff_fac5) 1.9574/2.1(g) 93%
コレステロール(stuff_co) 498.36/750(mg) 66%
食物繊維(stuff_fiber) 12.5782/19(g) 66%
ビタミンD(stuff_vd) 2.44/5.5(mcg) 44%
ビタミンE(stuff_ve) 0/7(mg) 0%
ビタミンK(stuff_vk) 135.335/75(mcg) 180%
ビタミンB1(stuff_vb1) 2.0434/1.2(mg) 170%
ビタミンB2(stuff_vb2) 1.0556/1.3(mg) 81%
ナイアシン(stuff_vb3) 21.6712/13(mg) 167%
ビタミンB6(stuff_vb6) 1.0404/1.1(mg) 95%
ビタミンB12(stuff_vb12) 1.844/2(mcg) 92%
葉酸(stuff_vb9) 200.87/200(mcg) 100%
パントテン酸(stuff_vb5) 6.8532/5(mg) 137%
ビタミンC(stuff_vc) 51.024/85(mg) 60%
ナトリウム(stuff_na) 3940.164/3600(mg) 109%
食塩相当(stuff_nacl) 10.4242/9(g) 116%
カリウム(stuff_k) 1805.76/2500(mg) 72%
カルシウム(stuff_ca) 250.508/650(mg) 39%
マグネシウム(stuff_mg) 160.508/280(mg) 57%
リン(stuff_pp) 1025.106/1000(mg) 103%
鉄分(stuff_fe) 5.9344/6(mg) 99%
亜鉛(stuff_zn) 7.0432/10(mg) 70%
銅(stuff_cu) 0.8538/0.7(mg) 122%
マンガン(stuff_mn) 2.5218/4(mg) 63%
ヨウ素(iodine) 17.512/95(μg) 18%
セレン(selen) 114.02/25(μg) 456%

$

 

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-02-18 (火) 08:34:37