Webの世界で検索エンジンの代名詞と言えば,Googleです。日本語で「ググる」という動詞が使われるほど有名ですよね。

 Googleの検索エンジンは,Webページのリンク数に基づいたアルゴリズム(PageRankと呼びます)で検索結果を順位付けしており,その検索結果の確かさと,処理速度の速さは高い評価を受けています。本稿では,Googleが提供するサービスの一つである「Google Web APIs」を取り上げて,本格的なWeb APIプログラミングを体験します。

Google Web APIは
1回10件,1日1000回の制限がある

 Google Web APIsは,Googleの検索エンジンをプログラムから利用するためのWeb APIです。検索エンジンを利用できるといっても,1回の検索で10件,1日あたり1000回までという制限が設けられています。日常的な調べ物に使うには足りないかもしれませんが,個人的にAPIで遊んだりプログラミングの学習に使うにはおよそ十分な量といえるでしょう。

 Google Web APIsは,オープンな標準規格であるSOAP(Simple Object Access Protocol)を利用しており,言語やプラットフォームの種類を問わない環境非依存な仕組みになっている点も特徴です。

 ちなみに,Googleは広告で収益を上げている会社であり,Webブラウザから検索すると検索結果と同じ画面に広告が現れるのは,皆さんよくご存知だと思います。しかし,Google Web APIsを使って検索すると広告は現れません。つまりGoogle Web APIsの利用はGoogleの収入源とはならないのです。そんな状況で,制限付きとはいえ気軽にWeb APIを公開してしまうところにGoogleの社風が現れていると筆者は思います。

 なお,Google Web APIsは現在もベータ版ということになっています。Googleが今後変更を加える可能性もありますし,この先長く安定的に提供されるとは限らないということを頭に入れておく必要があります。また,利用するにはライセンス契約に同意しなければなりません。ライセンス契約を読むといろいろな制限が加わっているのがわかりますが,とりあえずは個人で利用することと,営利目的には使用しないことを覚えておいてください。個人が自分のマシンだけで楽しむぶんには問題はないでしょう。この特集で解説するサンプル・プログラムも,クライアント・パソコンから実行できる範囲のプログラムなので,読者の皆さんが試しにプログラムを組んで実行してもライセンス条項に違反することはありません。

 Google Web APIsはSOAPでサーバーと通信します。SOAPを使うのでいろいろな言語やプラットフォームで使えるのですが,面倒なこともあります。SOAPによるプログラミングは,準備が少々煩雑なのです。そこで,この記事ではSOAPを簡単に扱うためのJavaのクラス・ライブラリを使用します。これはGoogleから入手できるSDKに入っているものです。というわけで以降のサンプル・プログラムはJavaで作成します。

APIの利用にはSDKとキーが必要

 Google Web APIsを利用するには,SDKの入手,Googleのアカウント登録,API利用のためのライセンス・キーの取得といった作業が必要になります。アカウントはGMail*1など他のGoogleサービスと共通なので,すでに登録済みのユーザーはそのアカウントをそのまま使ってください。Googleのアカウントを持っていない方はこれを機に取得しておくとよいでしょう。

 SDKをダウンロードするには,Google Web APIsのWebページを開いてください(図1)。左にあるメニューの中から「Download」をクリックすると,ライセンス条項を記したWebページにジャンプします。ライセンスをよく読んで,同意するならチェックを入れて,「Download Now」ボタンを押しましょう(図2)。「googleapi.zip」というファイルをダウンロードできるはずです。

図1●Google Web APIsのWebページ。左側にある「Download」をクリックすると,SDKのダウンロード・ページに移動する
図1●Google Web APIsのWebページ。左側にある「Download」をクリックすると,SDKのダウンロード・ページに移動する

図2●SDKのダウンロード・ページ。チェックボックスにチェックを入れて,「Download Now」ボタンを押すとSDKをダウンロードできる
図2●SDKのダウンロード・ページ。チェックボックスにチェックを入れて,「Download Now」ボタンを押すとSDKをダウンロードできる

 次に左側のメニューにある「Create Account」をクリックすると,アカウント作成画面になります(図3)。新規登録の方も,アカウントをすでに持っている方も画面に従って必要事項を入力し,利用規約に目を通してボタンを押してください。アカウントをすでに持っている方は,持っているアカウントのメール・アドレスとパスワードを指定します。しばらくするとAPI利用のためのライセンスキーを記載したメールが,登録したメール・アカウントに届きます(図4)。

図3●アカウント登録画面。メール・アドレスやパスワードを入力する
図3●アカウント登録画面。メール・アドレスやパスワードを入力する

図4●アカウント登録が済むと,ライセンス・キーを記載したメールが届く
図4●アカウント登録が済むと,ライセンス・キーを記載したメールが届く

 アカウントを新規に登録する場合,入力内容に問題がないことをサーバー側で確認したあとで「メール・アドレスの確認」画面になり,しばらくするとURLが記載されたメールが届きます。このメールの指示に従って,指定のURLにアクセスしてください。これでメール・アドレスが認証され,Googleのアカウントが作成されます。

 開いたページの下のほうにある「続けるにはここをクリックしてください。」というリンクをクリックすると「License Key Generated」という画面になり,しばらくするとライセンス・キーを記載したメールが届きます。

 キーを取得したら,ダウンロードしたSDKをJavaから利用できるようにしましょう。ダウンロードしたファイルを展開すると「googleapi.jar」というファイルが見つかります。これをJavaのクラスパスに追加しないと,Googleが提供するクラス・ライブラリを利用できません。クラスパスを指定する方法はいくつかありますが,このファイルを適当な位置に置いて,javaコマンドを実行するたびに起動オプションである「-cp」でファイルの位置を指定するのが最も簡単です。今回はCドライブのルートに「WebAPI」というフォルダを作り,そこに「googleapi.jar」を置きます。

 これで準備完了です。SDKにはデモ・プログラムが付属しているので,さっそく実行してみましょう。コマンドプロンプトから次のように入力してください。ちょっと長いですが,改行せずに1行で入力します。

C:\WebAPI>java -cp C:\WebAPI\googleapi.jarcom.google.soap.search.
GoogleAPIDemo ライセンス・キー search 日経BP

 準備がすべてうまくいっていれば検索結果が表示されるはずです。一度に取得する結果は10件ですが,付加情報があるので情報が大量に出てきたように見えたと思います。じっくり眺めてみれば,どのような情報が検索結果に含まれているのかがざっとわかるでしょう。