農場主の日常

なんちゃってエンジニアの日常をつらづらと

NP_Relatedのデバッグ作業

 昨日、NP_RelatedにAmazon検索機能を追加した。
 追加のポイントは、シグネチャ作成ルーチン。これは、NP_Amazonから移植。
 具体的には、NP_Amazonの393行目から、
$string2sign = "GET\necs.amazonaws.jp\n/onca/xml\n".$query;
if (function_exists("hash_hmac")) {
$signature = base64_encode(hash_hmac("sha256", $string2sign, $this->secret_key, true));
} else {
require_once('amazon/hmac_sha256.php');
$hmac_sha256 = new HMAC_SHA256($this->secret_key);
$signature = base64_encode($hmac_sha256->hmac($string2sign));
}
$signature = str_replace("%7E", "~", rawurlencode($signature));
$request = $baseurl.$query."&Signature=".$signature;

 この部分を移植して、コメントアウトされているAmazon関連の行を復活。とりあえず表示はされているのだけれど、どうもある条件でエラーが発生しているようだ。

Amazonのデータを取るのは、Amazon ECSのキーワードサーチを「Blended」で行っているのだけれど、結果が1つしかない場合に配列に問題が生じるようだ。
 配列は、
$items = $result['ItemSearchResponse']['Items']['Item'];

 のようにしているのだけれど、Itemsが1つしかないときには、$items配列が複数にならないのでうまく値が取れなかったようだ。

 仕方ないので、配列の内容をチェックして確認するルーチンを追加。これで何とか表示されるように。
 今度は、画像の調整だな。


関連記事[Blended Items ItemSearchResponse

該当無し
前後の記事 - [Nucleus]::タイトル一覧

コメント


コメントはありません。



コメントの追加


トラックバック

このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。

↑ PAGE TOP