今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

AmazonのProduct Advertising APIのサンプルコードが動作しない件

専門学校の授業でAmazonProduct Advertising APIを使ってWebアプリを作ろうって実習をやってるんだけど、Amazonに掲載されてるサンプルコードが動かなくて困った。

件のサンプルコードはこちらからダウンロードできる。

AWS Code

このページには「動かんやんけー!」ってコメントがどっさり投稿されてるし、中には修正方法まで書いてくれている人もいる。でも、書かれてる修正方法を試しても残念ながら動作しない。

ダウンロードした2つのクラスファイルをEclipseにインポートして実行させるとエラーがでる。そこで、Eclipseのコンソールに表示されるURLをクリックすると、サインが間違ってるというXMLが開く。

ここが落とし穴。サインは間違ってない。

コンソールに出力するURLの後に、サンプルコードがダブルコーテーションを付加してるんだけど、これをEclipseがURLの一部だと勘違いして、ダブルコーテーションを含んだURLを開こうとする。結果、サインが違うとAmazonから怒られる。

URLの末尾のダブルコーテーションを削除してリクエストすれば、サインは間違ってなくて、Amazonから別のエラーが返される。そのエラーメッセージは、「リクエストパラメータにAssociateTagが足りないよ」って言ってる。サンプルコードにリクエストパラメータを追加すれば、きちんと動作する。

専門学校だと、はてなダイアリーなどのブログはブロックされていて参照できないので、詳しい説明は satoshi's Java のサイトにまとめておいた。

http://java.satoshis.com/index.php/java/7-webservices/15-amazon-api.html

次回の授業では、ここ↑を見てもらって動作確認してもらおう。

というか、satoshi's Java のコンテンツをもっと充実させないと、寂しすぎる。。。