サンプル/PHP/ユーザーAPI/写真類似検索
ダウンロード:sample_mobadaiapi_extraservice_UserRecognizePicture1.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_PICT, "Pict"); // 画像データ変数のプレフィックス 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; } // 画像データを作成 $pictdate = strftime("%Y/%m/%d %H:%M:%S"); // 写真の日時 $pictfile = "*****__FILL_IT!!__*****"; // 写真データ(任意のデータを用意) $picthash = sha1_file($pictfile); // 写真データのハッシュ値 $uploadid = sprintf('%d', time()); // アップロードID(任意の文字列) $xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <CallService> <ServiceName>UserRecognizePicture1</ServiceName> <pictset> <pictobject> <type>0</type> <date>$pictdate</date> <uploadid>$uploadid</uploadid> <uploadhash>$picthash</uploadhash> </pictobject> </pictset> </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); // 画像データを追加 $request->addUpload(CGI_PICT.$uploadid, $pictfile); 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_extraservice_UserRecognizePicture1.php --- Request URL http://******.mobadai.jp/services/api/***/ --- Request Param array(11) { ["v"]=> int(1) ["AppKey"]=> string(16) "53apb85KgOLhiOPG" ["c"]=> string(2) "Bu" ["Category"]=> string(3) "XST" ["Operation"]=> string(3) "cal" ["UserAuth"]=> string(10) "userhashbb" ["loginid"]=> string(4) "west" ["password"]=> string(40) "3895f393d57ca857525de02384a492f135adc3e1" ["StructData"]=> string(358) "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <CallService> <ServiceName>UserRecognizePicture1</ServiceName> <pictset> <pictobject> <type>0</type> <date>2014/03/25 08:41:27</date> <uploadid>1395704487</uploadid> <uploadhash>34c1879dd2c64a17cd31e37d7f37128e6d818a0e</uploadhash> </pictobject> </pictset> </CallService>" ["Format"]=> string(4) "json" ["Charset"]=> string(5) "UTF-8" } --- Response Param {"api_result":true,"api_rescode":1,"struct":[{"feedingdate":"2012\/12\/04 09:44 :00","refpict":{"pictid":"VyJfFZQpFoZvhlSC9jpA1EoB","size":128,"type":"userpict lib"},"foodobject":[{"objectid":"FO01192397471c08790585fb12","quantity":"1.0000 "},{"objectid":"FO9a58f57646c9455b3ecac928","quantity":"1.0000"}]},{"feedingdat e":"2013\/03\/11 07:40:56","refpict":{"pictid":"a39J2RZygXFxnZyIyrm3162D","size ":128,"type":"userpictlib"},"foodobject":[{"objectid":"FOffbf77ba470b1f767c74f5 81","quantity":"1.0000"},{"objectid":"FO26a31797469c6a95232ff62c","quantity":"1 .0000"}]},{"feedingdate":"2014\/01\/10 08:08:19","refpict":{"pictid":"iJPIs2zve vg7iJdXhhwC2Cri","size":128,"type":"userpictlib"},"foodobject":[{"objectid":"FO 7d2e0e054666526c37c5d5a6","quantity":"1.0000"},{"objectid":"FO602dd9eb47944ae36 e71e45e","quantity":"1.0000"},{"objectid":"FO3cc1bb8745d44ff97ba8c6fe","quantit y":"1.0000"}]},{"feedingdate":"2014\/01\/10 08:08:19","refpict":{"pictid":"Ret4 H4mNkZVVrMYTii7HswPn","size":128,"type":"userpictlib"},"foodobject":[{"objectid ":"FO7d2e0e054666526c37c5d5a6","quantity":"1.0000"},{"objectid":"FO602dd9eb4794 4ae36e71e45e","quantity":"1.0000"},{"objectid":"FO3cc1bb8745d44ff97ba8c6fe","qu antity":"1.0000"}]},{"feedingdate":"2012\/12\/04 07:54:00","refpict":{"pictid": "WSJSotkB1Toyi16s6QXWXION","size":128,"type":"userpictlib"},"foodobject":[{"obj ectid":"FO1b51315c46f214e00b3fab1c","quantity":"1.0000"},{"objectid":"FOd1b3e99 e469dc4cb4fbb3092","quantity":"1.0000"},{"objectid":"FOc52395c24693075f5c102b3f ","quantity":"1.0000"}]},{"feedingdate":"2012\/12\/05 13:15:00","refpict":{"pic tid":"c9ebUxXlTJJyw9TH","size":128,"type":"userpictlib"},"foodobject":[{"object id":"FO602dd9eb47944ae36e71e45e","quantity":"1.0000"},{"objectid":"FO5892bf0646 d30840313f81ba","quantity":"1.0000"},{"objectid":"FO9c47eb4d4cc7b0f93466b0e9"," quantity":"1.0000"},{"objectid":"FO3c114d6547a610b90a2934b4","quantity":"1.0000 "},{"objectid":"FO32f019e246d3080953e8b809","quantity":"1.0000"}]}]} $