ブックテラバイト

ネットの便利情報やフリーソフト、プログラミングについて等をまとめる

アマゾンアフィリエイトAPIをRailsのgemで動かす方法を探ってみた

?

RailsでアマゾンAPIを動かすには

Amazonは二つのAPIを持っており、アフィリエイト用といわゆる転売などを行うアカウント管理用があるようです。

 

アフィリエイト用は無料でそれなりに使えます。

ただ、アカウント管理用には月額5000円を払っているプロマーチャント用みたいです。

アマゾンAPIは転売ヤーが色々と使っていたようですが、段々と用途を縮小をしていったようですね。

 

特にgemで運用するにはPHPなどイチからやるのと比べて面倒みたいです。

実際に、結構記事も古く少ないです。

 

?

Amazonのgemで運用する

1 gemをインストールする

gem install amazon-ecs

2 ガンダム関連の商品

Amazon::Ecs.options = {
:associate_tag => "アソシエイトID",
:AWS_access_key_id => 'アクセスキー',
:AWS_secret_key => 'シークレットキー'
}
amazon = Amazon::Ecs.item_search(
'ガンダム',
:search_index => 'Books', #=> 検索対象の指定
:response_group=>"Large", #=> レスポンスに含まれる要素の指定
:country => 'jp'
)

item =
# 各商品ごとに処理
amazon.items.each do |item|
puts item.class #=> 商品ごとに Amazon::Element のインスタンスが渡される
puts item.get('ItemAttributes/Title') #=> タイトルの取得(Amazon::Element.get(PATH) でパスを指定して値の取得)
puts item.get('DetailPageURL') #=> 商品詳細URL
puts item.get("LargeImage/URL") #=> 商品画像URL
puts item.get_element('ItemAttributes').get("Title") #=> Amazon::Element.get_element(ELEMENT_NAME) で子要素を取得
puts item.get_element('ItemAttributes').elem.css("Title").text #=> Amazon::Element.elem で Nokogiri::XML::Element が取得できるので、css や xpath で要素の検索ができる
end

 

一応、これで動きます。

ただ、これで動かして最終的にサイトに読み込むことはできます。

 

問題はこれを取得する時に細かく条件を絞って選ぶことです。

これについては調べて、できる方法がわかったので次の記事で読んでください。

上記は基本の基本の動かし方のようです。

?