Amazon APIs: 2003年10月アーカイブ

 もの凄く簡単なコードですが、Amazon APIsを利用した和書を検索するJavaのサンプルコードを試してみた。

 サンプルコード:
 AmazonSearchTest.java

 環境構築は、この記事を参考して下さい。
 尚、コードの修正すべき箇所は下記の3つになります。
  1.Proxy環境であれば、コード内のコメントを参照して修正する。
  2."associates tag" と "developer’s token"を設定する。
  3.検索条件はコード内に埋め込みなので、好きなように修正して下さい。
 
 以下、実行結果
 % java AmazonSearchTest
 Total number of matches = 774

 0: Javaゲームプログラミングアルゴリズム ¥ 2,800
 1: ゲーム作りで学ぶJavaクラス設計入門―JDK1.4.1対応 構造化設計と対比して覚えるオジェクト設計 ¥ 2,000
 2: Java API実用リファレンス Vol.3 JFC/Swi (3) ¥ 2,380
 3: JavaデベロッパーのためのApache Ant入門 ¥ 2,400
 4: Javaによるプロブラミング―アルゴリズムとデータ構造 ¥ 2,400
 5: Java プログラミング辞典 サーバーサイド・データベース・ネットワーク 編 ¥ 2,600
 6: EJB+J2EE入門―JBossとStrutsで作るWebアプリケーション ¥ 3,200
 7: オープンソース徹底活用 EclipseによるJavaアプリケーション開発 ¥ 2,200
 8: オープンソースがビジネスになる理由―勝ち組企業は何をしたか ¥ 2,400
 9: 実践Eclipse Javaプログラミング入門 ¥ 2,280
  

 非常に簡単な説明になってしまうと思いますが、Amazon APIsから戻るXMLをXSLTで構文解析させ、HTMLにする方法を書きたいと思う。

 今回は、HTTPのGETでリクエストしてXMLのレスポンスをXSLTで構文解析してHTMLにする方法を説明する。

1.Interface [ HTTP GET ]
 http://xml-jp.amznxslt.com/onca/xml3?
  t=[associates tag]&
  dev-t=[developer’s token goes here]&
  type=[lite or heavy]&
  mode=[product line goes here]&
  page=[page # goes here]&
  f=[ output format ]&
  KeywordSearch=[subject keyword goes here]&
  locale=[locale]

 Explanation of Tag
  t : アソシエイトタグID
     アソシエイトプログラムへ登録した時のID(デフォルトは、webservices-20)
  dev-t : デベロッパー・トークン
     ここから登録して取得します。
  type : [lite] or [heavy]を選択します。 XMLのレスポンス情報が違います。
  mode : 製品カテゴリ。 本やDVDなどがあります。(下記 mode一覧参照)
  page : XSLTで表示した製品数よりもXMLのレスポンス製品が多い時に有効。 ページ制御
  f : [xml] or [xsltのURL] 出力フォーマットを指定する。
  KeywordSearch : 検索キーワド。 この他にも ArtistSearch、AsinSearchなどがある。
  locale : 日本なので jp 。(USは必要なし!、イギリスは uk、ドイツは de になる。

  ※ t と dev_t は、デタラメでも動作します???
   アソシエイトタグはキャッシュバックがあるが、デベロッパー・トークンは何の意味があるのだろうか???

  ※日本で使用可能なmode一覧
    books-jp
    dvd-jp
    vhs-jp
    electronics-jp
    software-jp
    music-jp
    classical-jp
 
2.使ってみる。
  [ サンプル1 ]
  Response XML

  ここ をクリックすると、Java書籍の一覧が表示されます。
 

  [ サンプル2 ]
  Response XML

  これはJava書籍のバナーです。


  [↑この interface ]
  http://xml-jp.amznxslt.com/onca/xml3?
    t=[ アソシエイトタグID ]
    &dev-t=[ デベロッパー・トークン ]
    &KeywordSearch=java
    &mode=books-jp
    &type=lite
    &page=1
    &locale=jp
    &f=http://www.blogkid.com/AmazonWebServices/XSLTSamples/webserv-example3c.xsl

Amazon APIs

| | コメント(4)

 Googleで続けてきた投稿ですが、ネタが減ってきたので以前から気になっていたAmazon APIなるモノを試してみた。 今回はAmazonDevKitにあるJavaのサンプルを動作させるまでの本当に簡単な手順を記述します。

1.ユーザ登録とDeveloper's Tokenの取得
  下記のサイトより・・・
  http://www.amazon.co.jp/webservices
  下記の手順を完了する。
  1. Download our free developer's kit
  2. Apply for a free developer's token

2.WebServices - Axisをダウンロードして環境を作る。
  ↓ここからダウンロード(今回はV1.1)
  http://ws.apache.org/axis/index.html

  展開してAXISのlibにあるJarファイルをCLASSPATHへ通す。

3.Amazon WSDLドキュメントからの Java コードの生成
  ( 参照WSLDL : http://soap.amazon.com/schemas3/AmazonWebServices.wsdl )
  下記のコマンドを実行する。

  [ for none-proxy environment ]
  % java org.apache.axis.wsdl.WSDL2Java -v -p com.amazon.soap.axis
       http://soap.amazon.com/schemas3/AmazonWebServices.wsdl

  [ for proxy environment ]
  % java -Dhttp.proxyHost=[ProxyServer] -Dhttp.proxyPort=[ProxyPort]    
       org.apache.axis.wsdl.WSDL2Java -v -p com.amazon.soap.axis
       http://soap.amazon.com/schemas3/AmazonWebServices.wsdl

  --- こんな感じでJavaコードが生成される。
  Parsing XML file: http://soap.amazon.com/schemas3/AmazonWebServices.wsdl
  Generating com\amazon\soap\axis\PowerRequest.java
  Generating com\amazon\soap\axis\ShortSummary.java
  Generating com\amazon\soap\axis\ListingProductInfo.java
  ・・・

  生成されたコードをコンパイルする。(今回はこんな感じで!)
  % javac com\amazon\soap\axis\*.java

  出来上がった com package をCLASSPATHへ通す。

4.Amazon Dev KitのJavaのサンプルコードをコンパイルする。
  ↓このフォルダーにJavaのサンプルコードがあるので作業ディレクトリを移動する。
  [kit]\AmazonWebServices\JavaCodeSample

  % javac *.java
  コンパイルしてみる・・・っがエラーが沢山出る。
  「補足」20031108にリリースされたバージョンは問題ない。

  コンパイルエラーで出力されるサンプルコード内にあるメソッド [ setXXXXXX_Id ]のIdidへ全て変更して再コンパイルすれば上手くいくはず!

5.サンプルの起動
  None Proxy環境であれば、
  % java run
  っで実行可能

  Proxy環境の場合は AbstractXmlQuery.java の 100行近辺にある。
  [ Original ]
  socket = new Socket(hostPort[0], (hostPort.length > 1) ? Integer.parseInt(hostPort[1]) : 80);
  [ Modify ]
  socket = new Socket( [ ProxyServer] , [ProxyPort] );
  簡単な修正ではあるが、これで動作するはず!!(認証が必要なProxyは解りません!)

6.アプリケーションを実行
  ※起動が成功すると、Javaのサンプルアプリケーションが表示される。
  XMLタブとSOAPタブがあるが、XMLタブの[Keyword Search]を選択する。

  殆どの箇所はデフォルトで入っているので、そこは修正せず下記のみ入力する。

  Developer Token [ 1で取得したID ]
  Keyword [ 検索したワード ]
  Mode [ 商品のカテゴリ ]   

  私は、Keywordを [ google ]で、Modeを [ books-jp ]で試した。

  成功するとアプリを起動したコンソールへレスポンスのXMLが表示され、サンプルアプリケーションのGUIへはTreeViewで結果が見れる。

  ○今回は、ここまで・・・Google APIsより機能が多いので色々と探ってみたい。

このアーカイブについて

このページには、2003年10月以降に書かれたブログ記事のうちAmazon APIsカテゴリに属しているものが含まれています。

次のアーカイブはAmazon APIs: 2003年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Amazon APIs: 2003年10月: 月別アーカイブ

Powered By CWI Hosting.com
Powered by Movable Type 4.1