2009年9月17日木曜日

Ruby on Rails で Amazon Product Advertising API

2009/08/15からAmazon のアソシエイトWebサービス(AWS)は、Amazon Product Advertising APIに変更されたので、実装してみました。

Amazon Product Advertising API

Amazon Product Advertising APIに変更になってから、今まではAccess Key IDで接続できていましたが、Secret Access Keyがないと認証できない仕様になっています。
こちらから新規登録またはログインして、管理画面でSecret Access Keyを取得でいるようになっています。

Ruby on RailsでAmazon Product Advertising APIを利用するには、いくつかライブラリがありますが、
今回は「amazon-ecs」を利用して実装します。

環境
  • Ruby 1.8.6
  • Rails 2.3.4
  • gem 1.3.5
  • amazon-ecs 0.5.7
1. Amazon Product Advertising APIに登録
こちらから新規登録して、Access Key ID、Secret Access Keyを取得します。

2. amazon-ecsをインストール
gem install amazon-ecs

3. Railsプロジェクトを作成
rails AmazonEcs -d mysql

4. controllerを作成
script/generate controller amazon

APIから情報を取得してくるので、DBは不要です。
保存する場合は、DBを作成してください。

5. environment.rbにamazon-ecsの設定を追記
require 'amazon/ecs'
Amazon::Ecs.debug = true
Amazon::Ecs.options = {
:aWS_access_key_id => "xxxxxxxxxxxxxxxxxxxxx",
:aWS_secret_key => "xxxxxxxxxxxxxxxx"
:associate_tag => "xxxxxx",
:country => :jp
}

6. controllerにAmazon商品検索処理を追加
@res = Amazon::Ecs.item_search("fergie")

7. viewに検索した商品を表示
<ul>
<% @res.items.each do |item| %>
<li><%= item.get('title') %> - <%= item.get('author') %></li>
<% end %>
</ul>

これで、「fergie」の商品情報を取得できるようになります。
APIにはオプション機能が色々とあるので、詳細はドキュメントを確認してください。

API Reference

0 件のコメント: