FrontPage

サンプル/PHP/データAPI/検索類似語の取得(アプリ向け)

サンプルコード

ダウンロード:sample_mobadaiapi_simwords.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' ?>
<QuerySet>
	<qtype>SimilarWord</qtype>
	<word>ら</word>
	<maxresult>10</maxresult>
</QuerySet>";

	// リクエストパラメータを生成
	$req_param	= array(
		CGI_VERSION		=> 1,
		CGI_APPKEY		=> APPKEY,
		CGI_COMMAND		=> "Bn",
		CGI_CATEGORY	=> "DCT",
		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_simwords.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) "DCT"
  ["Operation"]=>
  string(3) "god"
  ["IDseed"]=>
  string(20) "25369511147114948985"
  ["IDval"]=>
  string(40) "e31f7546bc0dfdb6ec808404d72ed136b832f4ba"
  ["StructData"]=>
  string(152) "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<QuerySet>
        <qtype>SimilarWord</qtype>
        <word>ら</word>
        <maxresult>10</maxresult>
</QuerySet>"
  ["Format"]=>
  string(4) "json"
  ["Charset"]=>
  string(5) "UTF-8"
}

--- Response Param
object(stdClass)#6 (2) {
  ["api_result"]=>
  bool(true)
  ["struct"]=>
  object(stdClass)#7 (2) {
    ["word"]=>
    string(3) "ら"
    ["result"]=>
    array(11) {
      [0]=>
      string(3) "ら"
      [1]=>
      string(6) "らー"
      [2]=>
      string(18) "らーくりまく"
      [3]=>
      string(18) "らーこんしお"
      [4]=>
      string(18) "らーこんしょ"
      [5]=>
      string(18) "らーこんとん"
      [6]=>
      string(18) "らーこんみそ"
      [7]=>
      string(9) "らーじ"
      [8]=>
      string(18) "らーじさいず"
      [9]=>
      string(18) "らーじぬーど"
      [10]=>
      string(18) "らーじらいす"
    }
  }
}

 

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