【 ECS初心者物語 】
2006年02月07日

第四話:ECS4.0のデータを取得してみよう!
この物語は、ECSどころかアフェリエイトすら曖昧な知識のキョーコが立派に成長していくサクセスストーリである(もうね、ビックリするくらいフィクションです)。
ECS4.0の概要の説明が終わり、実際にアクセスする方法の説明に移っていく・・・。
[登場人物]
シ:シズマル・・・俺。ECSを教えながらも勉強中。
キ:キョーコ・・・何とかAmazonアフェリエイトの基礎を取得。
では、はじまりはじまり。
シ「お~っす。キョーコ」
シズマル、不敵な笑みをこぼす。
キ「シズ。ま、また勉強?」
シ「その通り!」
キ「げ~。めんどくさいな~」
シ「まぁまぁ、前回はECS4.0の概要の話だったけど、今回は実践を兼ねてアクセスしていくつもりだから、楽しいと思うよ」
キ「りょ~か~い」
シ「それじゃあ、キョーコに飽きられないようにXMLデータを取得するところから始めようか」
シ「と思ったけど、先にAmazon Web サービスのアカウントを取得しないとダメだね。」
キ「ん?AmazonのIDは持ってるよ?」
シ「あぁ、Amazon Web サービスのアカウントは、AmazonショッピングのIDやAmazonアソシエイトIDとは別に取得しないとダメなんだよ」
キ「うーん。めんどくさいね」
シ「まぁまぁ。更に面倒なことに、全部英語なので注意(笑。詳しいアカウントの取得方法はお気楽極楽ブログさんのAmazon Web サービス アカウントの取得方法を参照してIDを取得してみて。」
キ「シズも説明するのがめんどくさくなったんでしょ」
キョーコ、シズマルに冷ややかな目線を送る。
シ「そ、そんなことはないよ。。色々なサイトから情報を得る事も大事なんですよ、きっと(何故か敬語」
キ「ふ~~ん。」
キョーコ、そういいながらも淡々とIDを取得。
キ「はい、ID取ったわよ。」
シ「ごくろうさん。Amazon Web サービスではこの”Access Key ID”っていうのが全てのリクエストで必要になるんだ。だからどこかにメモしといてね。」
キ「りょーかいっ」
シ「前置きが長くなったけど、これでもうAmazonからXMLデータを取得できる準備は完了。何も考えずに下のURLにアクセスしてみて。Access Key Id にはさっき取得したIdを入れてね」
http://webservices.amazon.co.jp/onca/xml
?Service=AWSECommerceService
&AWSAccessKeyId=[あなたのAccess Key Id]
&AssociateTag=[あなたのアソシエイトID]
&Version=2005-10-05
&ResponseGroup=Small
&ItemPage=1
&Sort=titlerank
&Operation=ItemSearch
&ContentType=text%2Fxml
&Keywords=bio
&SearchIndex=VideoGames
【→サンプル】
キ「おお!お?な、何この文字の羅列!?」
シ「これが前回説明したXMLデータだよ。上のURLでは、カテゴリーが”ゲーム”でキーワードが”bio”のデータを取得するようなリクエストが含まれているんだ。」
キ「そうなんだ。でもURLだけで取得できちゃうの?」
シ「その通り!それがこのWebサービスの最大の特徴なんだよ。技術的には”REST”っていう方式なんだけど、要はURLの中にリクエストを含めて、その組み立てたURLにアクセスするだけで、好きなデータを取得できるんだよ!」
キ「きょ、今日は熱く語るのね。でも、これって意外と簡単なんだね。」
シ「そうそう、理屈はいたって簡単なんだ。じゃあ、実際に今回リクエストした検索(ItemSearch)のパラメータを解説していこう。」
●http://webservices.amazon.co.jp/onca/xml
・・・ベースとなるURL
●Service=AWSECommerceService
・・・サービスの内容。ECS4.0を使う場合は固定。必須。
●AWSAccessKeyId=[あなたのAccess Key Id]
・・・取得したAccess Key Idを指定。必須。
●AssociateTag=[あなたのアソシエイトID]
・・・アソシエイトID。任意。商品のURLを自分で作成するなら不必要。
●Version=2005-10-05
・・・ECS4.0のバージョン。この指定がない場合は最新のバージョン。
●ContentType=text%2Fxml
・・・取得するテキストフォーマット。text/xmlまたはtext/html。
●Operation=ItemSearch
・・・オペレーション名を指定。ItemSearch(商品の検索)、ItemLookup(商品詳細)等
●SearchIndex=VideoGames
・・・カテゴリーの指定。Books、DVD、VideoGames、Software、Blended(全て)等。必須。
●ResponseGroup=Small
・・・取得データの指定。Small、Medium、Largeの簡易指定から、Images、Offersなど詳細指定まで多岐に渡る。
●ItemPage=1
・・・取得するページ番号。1ページ10件(まで)取得。省略時は"1"。
●Sort=titlerank
・・・ソートの種類。省略するとsalesrank(売上順)。カテゴリー毎に違う為若干ややこしい。任意。
●Keywords=bio
・・・検索キーワード。任意。
※特殊な記号("/"、" ")や、日本語はURLエンコードする必要がある。
キ「うっ、難しい・・・。」
シ「だろうね。ただ今回は雰囲気だけ掴んでもらったら十分だよ。ようはこんな感じで指定していくんだろうなって感じで。」
キ「じゃあ質問~。途中に出てくる"?"とか"&"とかって何?」
シ「あ、基本的な事を教えてなかった・・・。CGI(Perl、PHP等)で、パラメータを指定してアクセスする時に使うんだよ。パラメータの指定は"?"から始まって、一つのパラメータを指定するのに"[パラメータ名]=[値]"って定義していくんだ。2つめ以降のパラメータについては"&"で繋いでいくっていう仕組み」
キ「なるほどね。じゃあこのパラメータって順番は決まってるの?」
シ「いや、中には決まってる場合もあるけど、ECS4.0の場合は順番は関係ないよ。後ろに追加していく感じでOK。」
キ「う~ん。何となく分かったような、分からないような。」
シ「ははは、キョーコは○○だからねっ。」
ドゴッ。鈍い音が響き渡る。
シ「ゔっ・・・。み、み、みぞおちに入りましたよ。キョーコさん・・・」
キ「そういうのを自業自得っていうのね、きっと。うんうん」
シズマル。5分後やっとまともに喋れるように。
シ「ま、まぁ、こういうのは慣れだよ。最初は最小限でURL作って、その後に徐々に機能を覚えていけばいいと思うよ。」
キ「分かったわ。で、このXMLデータをどうやって加工するの?」
シ「気が早いな。もうちょっとキョーコが自分で色々試してみてからにしようか。」
キ「りょ~か~い。今日はもう終わりよね??」
キョーコ、すごむ!
シ「は、はい。今日はここで終わらせていただきます!」
キ「よろしい!」
という訳で、次回に続く。
投稿者 shiz : 2006年02月07日 18:01
トラックバック
このエントリーのトラックバックURL:
http://mt.amonya.com/mt-tb.cgi/28
※トラックバックのリンク確認後に掲載させて頂きます。
(当エントリー又は当サイトへのリンクがない場合は掲載しません)