Google HacksのHACK#26にありましたが、Dave's Quick Search Taskbar Toolbar Deskbarなるモノがあったんですね! インストールしてみましたが、日本語の検索は可能ですが、英語ページがデフォルトで表示され文字が化ける為に、「日本語 /language:ja」←このように地域スイッチをつければ日本語のページで文字化けも無く検索可能です。
スイッチはGoogleの他に、amazon.com, dictionary.com , eBay , weatherunderground.comなどのサービスとの連携も出来ます。・・・とにかく、とても機能が多いです。(個人的には多すぎる気もしますが!) 興味のある方はまずはダウンロードしてみて試してみては・・・
個人的にはやはり、Google Deskbarがいいです。
アマゾンAPIが更新されました。(SDK 3.1)
「今までバージョンなど気にもしていませんでしたが・・・」
下記の対応がされているようです。
* International Encoding Fixed
* Japanese Characters Fixed
* Localized Availability Messages
* Better Error Reporting
* New Blended Search Feature
* Improved Text Stream Search
あと、SOAPを使ってCartへセットした時に戻るURLで表示するページの日本語化対応ですが、APIドキュメントに下記の情報がありましたのでSOAPでカート操作可能なのはUSのみになります。
API Guide、constraints_and_limitations.htm より抜粋
![]()
Google Labsから11/6に新しいサービスがベータリリースされました。 GoogleデスクバーなるモノでウィンドウズのTaskBarにインストールされます。 コンポーネントとバージョンは今日現在では下記になります。
Deskbar: 0.5.64 Beta
Mini-viewer: 0.5.64 Beta
VersChecker: 0.5.64 Beta
メニューなどは英語ですが日本語も検索可能です。 検索結果ウィンドウは好きな位置へ移動出来(但し1度Viewerを閉じるとウィンドウの位置が基準位置である右下へ戻ってしまう。)、サイズも変更出来るので、個人的にはとてもお気に入りです。 お気に入りのポイントは、Viewerの表示を閉じても前回のページを覚え、再度Viewerを表示しても戻れたり、Viewerの表示を新規に別ブラウザ開いて表示させたり、ちょっとした電卓としても利用できるのが嬉しいです。
Amazon APIsを利用して、ショッピングカートへ商品をセットするJavaのサンプルコードを書いてみた。
サンプルコード:
AmazonAddCart.java
環境構築は、この記事を参考にして下さい。
尚、コードの修正すべき箇所は下記の3つになります。
1.Proxy環境であれば、コード内のコメントを参照して修正する。
2.associates tag と developer’s token を設定する。
3.Asin(ISBN)とQuantityはコード内に埋め込みなので、好きなように修正して下さい。
以下、実行結果
% java AmazonAddCart
102-5196641-8447345
http://www.amazon.com/exec/obidos/shopping-basket?cart-id=102-5196641-8447345%26associate-id="associates tag"%26hmac=Pld20vXfxpJ%2B4hWw5b%2BnD36z8lQ%3D
Google Hacks: 100 Industrial-Strength Tips & Tools
1行目がカートID
2行目が参照すべきURL。
→このURLをブラウザから参照すると指定した製品がカートへセットされている。
3行目はセットしたAsinの製品名を表示している。
今回は製品をショッピングカートへセットするだけの簡単なサンプルであるが、ここで取得したカートIDを使用して、この他にも下記の3つのサービスメソッドを使うことが出来る。
ModifyShoppingCartItemsRequest
GetShoppingCartItemsRequest
ClearShoppingCartRequest
※レスポンスの1つである参照すべきURLですが、どうやら英語のページのみ有効で日本語のページへの制御(遷移)は不明でした? 日本語のページへ制御(遷移)出来た方はコメントをお願いします。
※ちなみにHTMLからPOSTしてカートへ入れる interface は下記になります。
<form method="POST" action="http://www.amazon.co.jp/exec/obidos/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type="hidden" name="asin.[ASIN number goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="hidden" name="dev-tag-value" value="[Developer Token goes here]">
<input type="submit" name="submit.add-to-cart" value="Buy from Amazon.co.jp">
</form>
【↓サンプル】
もの凄く簡単なコードですが、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
GoogleやAmazonのWebAPIsはとても素晴らしいと思うが、国内企業ではどの様な一般公開型のWebサービスを提供しているか調べてみた。
三省堂(体験版)
http://www.btonic.com/ws/
→ 辞書情報、書籍情報、新聞記事、論文、テクニカル・マニュアルなど、XMLベースコンテンツの検索が行えます。
JTB(パイロット版)
http://net.est.co.jp/jtb/about/
→国や空港の列挙や、ホテル・ツアーの検索や予約が行えます。
IWebMethod.NET ( Insider.NET presents... )
http://www.iwebmethod.net/
→コンピュータ用語事典 Webサービス
きっとこの他にもあると思いますが今後、企業の特性を生かしたWebServiceが提供される事に期待したい。(日本企業が提供しているWebService情報があればコメントをお願いします。)
非常に簡単な説明になってしまうと思いますが、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
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 ]のId を idへ全て変更して再コンパイルすれば上手くいくはず!
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より機能が多いので色々と探ってみたい。
Googleへ機能改善レポートを出す事が出来ます。
[Japanese]
http://www.google.co.jp/quality_form
http://www.google.co.jp/quality_form?q=blogkid [ q="検索に使用したキーワードなど" ]
[English]
http://www.google.com/quality_form
http://www.google.com/quality_form?q=blogkid [ q="検索に使用したキーワードなど" ]
個人的にGoogleへの不満はありませんが、チャンスがあれば是非書きたいと思う。
特に改善のアイデアはあれば是非書いてみたい!・・・しかし、あるようでないんですよね!
この、Google Zeitgeist は我々に、貴重な情報を教えてくれる、とても良いレポートである。
検索キーワードだけでは無く、気候についての検索状況(季節や状況により変わると思いますが・・・)や、各地域からのアクセス比率や使用しているWeb Browserなど・・・とても説得力のあるグラフとして活用できる。