Amazon Web Servicesを使ってみよう

最近Web業界では、Web2.0だ!API公開だ!マッシュアップだ!と騒がしいです。ただ自分もWeb業界の端くれにる身としては、ちょっとくらい勉強しこうかなあーなんて漠然と思いたったので、やってみる事にしました。

やってみると思いの他簡単だったのでショックを受けた。思いの他簡単なのになんか日本語の情報があんまりないのね。誰か翻訳してよ。と他人任せ。

ITMediaにちょうど良い記事があったので、これを参考にしました。
ITmedia エンタープライズ:特集:前編 WebサービスをAmazonで知る–ECS 4.0でアフィリエイト

まずはSubscription IDを取得

取りあえず、必要なのはAmazon Web Servicesを利用するためにIDが必要なんで、これを取ります。Amazon.co.jpの左メニューの下の方にあるWebサービスをクリックしてアカウントを作る。登録ページはAmazon.comの英語のページだけど、取り立てて難しいことはない。

次は、RESTリクエストのパラメータを知る

Amazon Web Servicesを使う上で、RESTとかSOAPとか出てくるんですが、取りあえず、よく知らなかったし、AmazonへはRESTを使ったアクセスのが多いらしいし、早いらしいし、ITMediaの記事もRESTだしという事で、RESTでやることにした。
RESTとは – はてなダイアリー

取りあえず、HTTP GET/POSTでXMLが返ってくるってことだけ覚えた。

ITMediaの記事では、商品検索向けのRESTリクエストのパラメータが解説されているんだけれど、今回は、このブログの左下に表示しているウィッシュリストを手動の管理から、Amazonのウィッシュリストを取得して表示したら個人的に便利だなと思ったんで、ちょっと情報が足りない。

で、Googleとかで検索しても日本語で解説されてあるサイトが見つからなかったから、Amazonの開発者向けサイトを読めない英語をがんばって見ていると、それとおぼしきページを発見。
Amazon Web Services Developer Connection : Docs: Amazon E-Commerce Service (API Version: 2007-02-22)

このページPDFをダウンロードしてみると、150ページ以降にAPI Referenceとして詳しいパラメータの解説が載ってるやんか。なるほどね。

あとは、ブラウザのアドレス部分に、
固定部分のアドレス:http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
最初に取得したID:&SubscriptionId=[最初に取得したID]
アソシエイトのID:&AssociateTag=[アソシエイトのID]
ウェブサービスのバージョン:&Version=2007-02-22
をくっつけた後に、
「&Operation=」と「&ResponseGroup=」のパラメータをPDFを参考に入力してみて、ブラウザに表示されるXMLが思ったものが表示されるか試してみれば、簡単にチェックできます。XML上にエラーも表示されるんで、何回か試すと簡単に情報が取得できます。

取得したXMLをPHPで扱う

ここまでくると、後は、PHPでちょいちょいとやればなんとかなるんじゃないかなあーと思ってGoogleで検索していると、XMLを連想配列に変換してくれるライブラリがあるようなので、これを利用することにしました。
参考URL:サイト構築日誌 | Amazonの商品検索をもうちょっとマシに作る

ただ、このライブラリ古いPHPの記述になっているみたいで、うちのサーバ環境だとPHPのNoticeエラーが出るので、以下のページを参考に微妙に変更。
人力検索はてな – PHP4でGPLのソフトを利用していますが、PHP4.4.0以降の仕様変更によって、以下のNoticeが出ます。これが出ないように修正をしたいです。 参照返し、値返しで、入れた値と返..

PHPの連想配列に格納できれば、あとは、もうそのまま必要な情報を抜き出して、表示するだけ。こりゃ簡単。あっという間にAmazonのウィッシュリストが表示出来た。ちなみにAmazonの自分のウィッシュリストのIDの調べ方がわからずしばらく悩みましたが、Amazonで自分のウィッシュリストを表示して、「このリストをメールで友だちに知らせるボタン」を押すと表示されたページのアドレスの末尾にウィッシュリストのIDがありました。他にもっとスマートに知る方法はないのだろうか。

で、作ったのが、Amazonのウィッシュリストを表示するプラグインです。他のAmazonの情報を表示するプラグインだったら、ちょっとカスタムしたらいくらでも作れる感じです。まあ、勉強になった。

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です