カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

Net::AamzonでアソシエイトIDを指定する方法

概要: perlのNet::AmazonでアソシエイトIDを指定する方法。


perlのNet::AmazonでアソシエイトIDを指定する方法が分からなくて、 ソース読んでやっと分かったのでメモ。

ぶっちゃけ結論から言うと、Net::Amazon::Request::*系のオブジェクトを生成するときに、 コンストラクタの引数で直接ECS4のパラメーターを指定すればOK。

要するにこんな感じ。

use Net::Amazon;
use Net::Amazon::Request::ASIN;

my $token  = 'XXXXXXXXXXXXXXXXXXXX';
my $locale = 'jp';

my $ua  = Net::Amazon->new( token => $token, locale => $locale );
my $req = Net::Amazon::Request::ASIN->new( asin => 4061826263, AssociateTag => 'example-22' );

my $res = $ua->request( $req );

AssociateTag以外のパラメータも上記の方法で指定できるみたい。 が、Net::Aamzonが内部でいじってるパラメーターを指定するとおかしくなるかもしれない。 まあもっと泥臭いコードを書かなきゃいけないのかと思ったら以外とシンプルに書けた。

まあこれでNet::Amazonを使ったアフィリエイトサイトとか作れそうです。 多分当分はやらないだろうけど。