« ビズ体験シリーズ 起業道 | トップページ | 草むしり »

2006/06/17

Amazon Web Serviceを使ってみる

色々あってamazon.co.jpのAmazon Web Service(以下AWS)を試してます。数日間の試行錯誤の結果、何とか使い方がわかってきたような気がします。今回試しているのは、AWSの中にあるAmazon E-Commerce Serviceという機能で、本やDVDなどAmazonで扱っている商品を検索することができるAPIです。

通信の方法にはhttpによるGETを使った「REST」とXMLでやり取りする「SOAP」の2種類があるようだけど、とりあえず簡単な「REST」の方を試してみました。...が、Webで集まる情報はちょっと古めのものばかりで、頻繁にアップデートしているAWSの最新版に対応した情報の少なさに驚きます。本当に色々な事が出来そうな予感はするのですが、なかなか骨の折れる作業になりそうです。びっくりしたのは今年3月のバージョンと5月のバージョンに多少互換性のずれがあって、そのままでは動かなかったことです。無料のサービスの恐ろしさを垣間見た思いがしました。

オンライン書店ビーケーワン:やさしいXMLしかし、ここで何より問題だったのは、僕がXMLを理解していない事です。Amazonから受け取るデータはXML形式なので、これがわからないと何も始まらない。「XMLはデータのやり取りをする方式の一つ」くらいにしか認識していなかったのですが、なかなか奥が深いようで、XSLをいじっているとあっと今に時間が過ぎてしまいます。
以前、買うだけ買って読んでなかったXMLの本があったのですが、その本が今回は大活躍です。初版が2001年なので、もう5年も前の本なのに今でも使えるなんてなかなかやるなと関心してしまいました。これはずばり初心者にとって良書という証。勉強する人はお勧めです。

何はともあれ、何とか形になったので下にフォームを追加してみました。何かお探しの場合は使ってみて下さい。ジャンルを選んで、キーワードを入力してから「検索」ボタンを押すと商品の一覧が表示されます。但し、エラー処理とか全く考えてないので、きちんと動くように入力しないとおかしなことになります...ってそれは出来上がっていないということ。

GoogleMapsAPIでも同じですが、無料のサービスを使うのはなかなか大変です。でも、同じ機能を自分で作ろうとしたらもっと大変なので、贅沢な悩みなのかも知れません。

ちなみに上記フォームのソースコードは下記となります。ページの整形に使ったXSLはこちらです。

<form method="get" name="amazon2" action="http://webservices.amazon.co.jp/onca/xml?" target="_blank">
<input type="hidden" name="Service" value="AWSECommerceService" />
<input type="hidden" name="AWSAccessKeyId" value="0QQYMCW02A4B5WS881R2" />
<input type="hidden" name="AssociateTag" value="howtouseexcel-22" />
<input type="hidden" name="Version" value="2006-03-08" />
<input type="hidden" name="Operation" value="ItemSearch" />
<select name="SearchIndex">
<option value="Books">本</option>
<option value="Music">音楽</option>
<option value="MusicTracks">曲名</option>
<option value="Classical">クラシック</option>
<option value="Video">DVD&ビデオ</option>
<option value="DVD">DVD</option>
<option value="VHS">ビデオ</option>
<option value="VideoGames">ゲーム</option>
<option value="Electronics">家電品</option>
<option value="Kitchen">キッチン用品</option>
<option value="Toys">おもちゃ</option>
<option value="Software">ソフトウェア</option>
<option value="Blended">複合</option>
</select>
<input type="hidden" name="ResponseGroup" value="Medium" />
<input type="text" name="Keywords" value="" />
<input type="hidden" name="Style" value="http://shinob.cocolog-nifty.com/mix_dvd/files/amazon/amazon.xsl" />
<input type="hidden" name="ContentType" value="text/html" />
<input type="hidden" name="ItemPage" value="1" />
<input type="submit" value="送信" />
</form>

|

« ビズ体験シリーズ 起業道 | トップページ | 草むしり »

コメント

バッチリ動きましたよ。流石流石。

投稿: K2nd | 2006/06/18 01:54

K2ndさん、動作確認ありがとうございます。
とりあえず結果の取得はできたけど、これを自分のサイトに組み込むためには色々と工夫が必要みたいです。
JavaScriptを使うとブラウザの互換性を保つのが大変だし、かといってアマゾンのドメイン内で処理を行うようなサイトってのも何かおかしいようなきもしたりして...課題は山積してます。

投稿: きむらしのぶ | 2006/06/18 03:29

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/79953/10564303

この記事へのトラックバック一覧です: Amazon Web Serviceを使ってみる:

« ビズ体験シリーズ 起業道 | トップページ | 草むしり »