AmazonWebServiceに問い合わせる用のビヘイビアクラスです。

バージョン

0.01 とりあえず公開。アイテムサーチのみ。

利用環境

CakePHP 1.2系(ビヘイビアクラスが1.2からなので・・・)

設置方法

CakePHPインストールディレクトリのapp/models/behaviors/以下に解凍後の中身(amazon_xml.php)を入れてください。

利用方法

1.設置したamazon_xml.phpを開き、以下の設定項目を確認してください。

//クラス内定数の整理
var $amazon_base_url = "http://webservices.amazon.co.jp/onca/xml?";//amazonAPIサービスURL

var $amazon_service = "AWSECommerceService";				//サービス名
var $amazon_subscription_id = "サブスクリプションID";
var $amazon_assosiate_tag = "アソシエイトコード";
var $amazon_operation = "ItemSearch";
var $amazon_version = "2009-01-14";
var $amazon_response_group = "Large";
var $amazon_search_index = "Blended";
var $amazon_item_page = "1";
var $amazon_keywords = "";
var $amazon_content_type = "text/xml";

適宜設定項目を変えてください。各変数についてはAmazonWebServiceについての説明ページ等で確認を。(多分項目名が変数名になっている・・・はず。)
一応アフィリエイトコード(アソシエイトタグ)対応していますよ。

2.使いたいモデルクラスで以下の宣言をしてください。

var $actsAs = array('AmazonXml');

1.モデルクラス内で取得する関数を自分で作り、その中でsearchItemByKeywordにキーワードを投げればOKです。

//Model内にテストとしてfindAllByBehaviorsという関数を用意し、そこで叩く
/**
* Amazonからの検索結果を取得する
*
* @param string $query 検索クエリ
* @return array $return 検索結果配列
*/
function findAllByBehaviors(&$query){

$param['keywords'] = $query;
$response = $this->searchItemByKeyword($param);

return $response;

}

戻り値の$responseにXMLが入っています。あとは適宜カスタマイズしてください。

ダウンロード

amazon_xml.zip

カスタマイズ・質問について

勉強用に作ったやつなので、自由に書き換えてOKです。もし改変したやつとか作った人が居たら連絡していただけるとうれしいです。
なお、質問・要望をレスをつけていただけたりメールで連絡をしていただければ改良していきますのでよろしくお願いいたします。