« マイブームの80年代 | トップページ | 頭がいっぱい!? »

2004.10.31

Amazon Webサービスを利用する

Movable Typeでブログを構築したら、いろいろな機能を試したくなった。
まずは、アマゾンのウェブサービスを使って、目的の商品を展示しちゃう機能を自分のブログに追加することにした。

アマゾンのウェブサービス、略して AWS を利用するには、アマゾンに申し込まなくてはならない。
http://www.amazon.co.jp/exec/obidos/subst/associates/join/webservices.html

申し込もうとすると、英語の画面になって、なんだかよくわからないけれど、頑張ってください(笑)
完了すると、「デベロッパートークン」という英数字の組み合わせの暗証番号みたいなものがもらえます。これが必要になるわけですね。同時に「デベロッパーキット(SDK)」なるものもダウンロードするわけなんですけど、こっちも完全に英語でして、中学生程度の英語力しかないわたしには、ほとんど理解不能のしろもので、読むのを挫折しています。

それとは別に、アソシエイト・プログラムにも参加しておきましょう。
こちらは、Amazonの商品を紹介して、その商品が売れると自分の手元にいくらかの現金・もしくはアマゾンギフト券がもらえるというサイト運営者にやさしいシステムです。Movable Typeでブログを作っちゃった人は、そのぐらいは知っているかな。。。
知らなかったら、こちらでアソシエイトIDももらっておきましょう。
http://www.amazon.co.jp/exec/obidos/subst/associates/join/associates.html

*****

準備ができたら、次はアマゾン・ウェブ・サービスをMovable Typeに組み込むための、追加機能をダウンロードします。今回は「aws.pl」というPerlのライブラリを使うことにしました。
http://amazon.uva.ne.jp/log/archives/001345.html

ダウンロードして、readme.txt なぞをよくお読みになってください。
読み終わったら、aws.plをテキストエディタで開いて、自分仕様に変えるのと、修正をしましょう。

自分仕様に変更 (16,17行目)
 $config{"dev-t"} = '自分のデベロッパートークン';
 $config{associate_id} = '自分のアソシエイトID';

aws.pl の修正 (93行目)
 修正前: my $url = 'http://xml.amazon.com/onca/xml3?';
 修正後: my $url = 'http://xml.amazon.co.jp/onca/xml3?';

aws.plの修正 (148行目~154行目)
 修正前:
$res .= sprintf($out);
if ($q{lastn}>0) { $q{lastn}--; }
last if ($q{lastn} == 0);
}
if ($charset ne 'utf8') { $res = Jcode->new($res, 'utf8')->$charset(); }

sprintf($res);

 修正後:
$res .= $out;
if ($q{lastn}>0) { $q{lastn}--; }
last if ($q{lastn} == 0);
}
$res = Jcode->new($res, 'utf8')->$charset();
return $res;

上記の修正は、のまのしわざ:MT plug-in開発の勉強(aws.plの修正)を参照しました。

次に、readme.txt にも間違いがあるので、念のため。
 「2.できること」のサンプルコードで、
 修正前: <MTAws dev-t="developer-token" …
 修正後: <MTAws dev_token="developer-token" …

 商品の種類を指定する mode の項で、
 修正前: videogame-jp : ゲーム
 修正後: videogames-jp : ゲーム

これができたら、Movable Typeを設置しているフォルダのpluginsフォルダ内にアップロードしておきましょう。

*****

readme.txt にも書いてありますが、perlモジュールとして、LWP::UserAgent, XML::Simple, Jcode が必要です。
モジュール検査: http://apps.cside.com/perl/util/modusch/
などを使って自分の使っているサーバーで、該当するモジュールが使える(ロードできる)かを調べます。
もし、使えない(ロードに失敗した)モジュールがあったら、次に、Movable Typeのフォルダ内のextlib内に無いかどうか探して、それでもないときは、CPANからダウンロードして、extlib内の所定のフォルダにアップロードすればOKです。

わたしの使っているレンタルサーバーでは、XML::Simple というモジュールが使えなかったので、
http://search.cpan.org/~grantm/XML-Simple-2.12/
から、ダウンロードして、extlibフォルダのXMLフォルダの中に「Simple.pm」をアップロードしました。
LWP::UserAgent なら、extlibのLWPの中の「UserAgent.pm」となります。

*****

ここまでできたら、最後に、ブログのテンプレートに、タグを書き込みます。
アマゾンの商品情報を表示したい場所に、先ほど読んだ readme.txt の中に書いてあった方法で、タグを貼りつけてみましょう。
保存と再構築が完了すれば、サイトの確認で、ちゃんと商品情報が表示されているか見てみましょう。

*****

Amazonでは、ウェブサービス(AWS)のバージョンアップ版ともいうべき、イーコマースサービス(略してECS)が先ごろ稼動し始めた模様。興味のある方はそちらにチャレンジしてみては。。。
ただし英語力は必須のようです。。。わたしゃダメだわ。

(11月6日追記:といっていたら、http://moe.livedoor.biz/archives/AWSindex.html でECS4.0の和訳してらっしゃるかたがいました。とても役立ちます。感謝)

|

« マイブームの80年代 | トップページ | 頭がいっぱい!? »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Amazon Webサービスを利用する:

» aws.plとAmazonボタン設置 [ドーナツ]
Amazonの商品を紹介したいときにいちいちAmazonにログインしてASINを... [続きを読む]

受信: 2005.02.13 21:04

« マイブームの80年代 | トップページ | 頭がいっぱい!? »