ラベル Amazon Product Advertising API の投稿を表示しています。 すべての投稿を表示
ラベル Amazon Product Advertising API の投稿を表示しています。 すべての投稿を表示

2011-11-17

Amazon API:仕様変更でアソシエイトIDが必須に

AmazonのAPI(Amazon Product Advertising API)を使っている某システムに久しぶりにアクセスしたらエラーが。。。。どうやらAmazonからのデータ入手に失敗しているらしく、
リクエストには、必要なパラメータが含まれていません。必要なパラメータには、AssociateTagなどがあります。
という意味不明なエラーが。。。どうやら仕様変更があったようで、そこに書いているように、 AssociateTagというパラメーターを追加する必要があるらしい。
このAssociateTagというのは、アフェリエイトを利用する際のIDのことで、これを見つけるのにちょっと迷いました。Amazon Product Advertising APIの管理コンソールを見ても書いておらず、どこにあるんだ~と思っていたら、Amazon アソシエイトに登録する必要があるらしい。このアソシエイトとAPIのアカウントは違うというところは注意事項です。

なお、今回の仕様変更は全く気が付きませんでした。メールなどを読み逃していたのかもしれません。クラウドなサービスを利用するのは注意が必要ですね。

2010-12-20

[GWT]Amazon API のXMLを解析する (クライアントサイド)

Amazon Product Advertising APIを利用して商品データを解析するGWTのサンプルです。クライアント側の処理なので、XMLパーザーは、com.google.gwt.xml.client.*のパッケージのクラスを利用します。まあ、ふつうのXMLの処理ですので特筆するべきところはありませんが、商品によって要素が抜ける場合がありますので注意が必要です。例えば下記では、AuthorとCreatorの扱い方など。


2010-12-08

Amazon Product Advertising API 利用時の日本語処理

Amazon Product Advertising API を利用したプログラムをGAE上で動かしているのだけれど、日本語の処理で手間取ったので、覚書き。いちおう話の前提としては、GWTとGWT-RPCを利用してサーバ側でAmazonに接続しています。アクセス方法は、HttpURLConnectionクラスを用いました。

【検索キーに日本語を含める場合】
検索クエリーを生成する際に、

  • URLEncoder.encode(keyword,"utf-8")

というように、UTF-8に変換しておきます。こうしておかないと、正しい検索がされません。

【検索結果に日本語が含まれる場合】
検索するプログラムについては、サンプルプログラムにある SignedRequestHelprクラスを利用してます。日本語が含まれていると文字化けとなって、ただしく受け取ることができません。そこで、BufferReaderに受け渡すときには、以下のように記述します。


  • BufferedReader reader = new BufferedReader(new InputStreamReader(urlconn.getInputStream(),"UTF-8"));