かれこれ,もう1カ月以上の間が開いてしまいましたが, 前回 は,Yahoo! JAPAN が提供している 関連検索ワードWebサービス を利用した「連想ゲーム」のウェブアプリケーションを作成してみました。
Yahoo! JAPAN でも,同社の提供する WEB サービス API を利用した アプリケーションを募集するコンテストが開催されていましたが, 同様のマッシュアップ系のコンテストは,各社から多数が開催されています (表1)。
表1:主なマッシュアップ系コンテスト
|
まさに,百花繚乱。 これらのコンテストは, 様々なマッシュアップ・サイトが次々に登場してくる一つのトリガになっていると言えそうです。
TAGGY Search API
現在は,株式会社 TAGGY により TAGGY Mash Up Contest 2007 が開催されています(図1)。 TAGGY は,各種 CGM サイトなどのコンテンツやタグを横断的に検索できるサービスです。 その TAGGY の WEB サービス API である TAGGY Search API を利用したマッシュアップ・アプリケーションが対象のコンテストです。 今回は,その API の具体的な使い方について,サンプル・コードを交えてご紹介します。
まず,TAGGY Search API へのリクエストは以下の形式になります。(リスト1)
http://taggy.jp/media/new/jsonp.do?encoding=UTF-8&callback=callback&media=blog&query=Ajax&limit=20&offset=0 |
最初のエンコーディング(encoding=UTF-8)は,文字化け防止のため UTF-8 が良いでしょう。 コールバック(callback=callback)は,JSONP 取得完了後に自動的に呼び出される関数名を指定します。 メディア(media=blog)は,ニュース・動画・ブログ・SBM・写真・ポッドキャストの6種から検索対象を選択します。
クエリー(query=Ajax)は,検索文字列を指定します。 記号や日本語コードなどが含まれる場合は,URL エンコードする必要があります。
最後のリミット(limit=20)とオフセット(offset=0)で,検索結果を取得する件数・開始位置を指定できます。 詳しくは, ドキュメント を参照してください。
対するレスポンスは,以下の JSONP の形式で返ってきます(リスト2)。 JSONP ですので,コールバック関数が自動的に呼び出されます。 XML・JSON などの解析処理も不要なので,JavaScript 中での処理が非常に手軽です。
callback({ "Entry":[ { "identifier": "記事の一意なID", "media": "メディアの種類", "title": "記事のタイトル", "link": "記事へのURL", "description": "記事の詳細説明", "date": "記事の日付", "creator": "記事の投稿者", "subjects": [{"subject":"タグ1"},...,{"subject":"タグN"}] }, { // 中略 } ], "Count": "検索にヒットした件数" }); |
Entryの配列内に,検索結果1件ごとの連想配列(オブジェクト)が並ぶ形になります。 そのオブジェクトを引数として,コールバック関数 callback が呼び出されます。