使ってみよう! Bing API/SDK

第21回 使ってみよう! Bing API──Silverlight編(1)

この記事を読むのに必要な時間:およそ 9 分

はじめに

今回はSilverlightでBing APIを使ってみましょう。Silverlightを使用すれば,Webアプリケーションだけでなくクライアント アプリケーションも作成可能です。Silverlightについては詳しく説明しませんが,実行までの手順を初めての方でも理解できるよう紹介しています。一緒にBing APIによる検索アプリケーションを作ってみましょう。

前回までのjQueryでBing APIを利用したときは,次のようなURLにアクセスしてJSON形式のデータを取得していました。

  • http://api.bing.net/json.aspx?
      AppId=AppId&
      Version=2.2&
      Market=ja-JP&
      Query=Windows&
      Sources=Web

jQueryの場合と同様の方法をSilverlightでも記述できますが,Bing APIにはHTTPとXMLをベースとしたSOAPというプロトコルのサービスも提供されています。Silverlightから利用する場合は,SOAPのほうが便利です。今回はこのSOAPのBing APIを利用します。

開発環境

はじめに開発環境についてです。Silverlightでの開発は次の環境が必要です。あらかじめインストールを行ってください。

無償のVisual Web Developer Express 2010 ExpressとSilverlight 4 Toolsの組み合わせでも開発できます。Visual Web DeveloperはMicrosoft Web Platform Installer内に含まれています。

またデザイナツールのExpression Blend 4もあるとよいですが,今回は使用しません。

ライブラリーのインストール

Silverlightアプリケーション開発には必須ではありませんが,今回のアプリケーションでは,Reactive Extensions for .NETというライブラリーを使用して非同期処理を行っています。DevLabsから「Rx for Silverlight 4」をダウンロードしインストールを行ってください(Webページの右側の「Get Rx」にダウンロードのボタンがあります)⁠

Bing APIサービスの参照

それでは,Bing APIをSilverlightで利用してみましょう。まず,Visual Studioでプロジェクトを作成して,サービスの参照という手順を踏んで,Bing APIを利用するクラスを自動生成するところまで説明します。

プロジェクトの作成

まず,Visual StudioでSilverlightアプリケーション プロジェクトを作成します図1)⁠ここではプロジェクト名を「BingApiSample」にしています。また,この連載ではVisual Basicを使用します。

図1 Silverlightアプリケーション プロジェクトの新規作成

図1 Silverlightアプリケーション プロジェクトの新規作成

OKボタンをクリックすると,図2のようにSilverlightアプリケーションを新しいWebサイトでホストするか聞かれますので,図のようにそのままOKボタンをクリックします。

図2 Silverlightアプリケーションを新しいWebサイトでホスト

図2 Silverlightアプリケーションを新しいWebサイトでホスト

以上で新しい Silverlight アプリケーション プロジェクトと,そのアプリケーションを表示するためのWebアプリケーション プロジェクトが作成されました。この後,特に指定がなければ扱うプロジェクトはSilverlightアプリケーション プロジェクトのほうです。

最初にインストールしたライブラリーも使用できるようプロジェクトに参照を追加しておきましょう。Visual Studioプロジェクト メニューの参照の追加から,次の3個のコンポーネントを追加します図3)⁠

  • System.CoreEx
  • System.Observable
  • System.Reactive

図3 参照の追加

図3 参照の追加

サービス参照の追加

SOAPによるWebサービスの利用は,特定のURLへリクエストをXML形式のデータで送信し,レスポンス データをXML形式で受信することで行います。HTTPで送受信するコードを直接記述してもよいですが,SOAPではWebサービスにどのようなメソッドやどのようなデータを送受信すればよいかが定義されています。そのため,Visual Studioを利用すると,Webサービスにアクセスするクラスの自動生成が可能です。

プロジェクト メニューからサービス参照の追加を選択します。開いたウィンドウにあるアドレス欄に以下のURLを入力します。

  • http://api.bing.net/search.wsdl?AppID=AppID&Version=2.2

このアドレスがBing APIのサービスを定義しているURLです。AppIDパラメーターにはApplication ID(AppID)を指定してください。AppIDの取得は第19回で紹介しています。

移動ボタンをクリックするとBing APIで提供されているサービス内容が確認できます図4)⁠Searchというメソッドのみ定義されていることがわかります。名前空間に適当な名前を入力しOKボタンをクリックして,サービス参照を追加します。ここでは名前空間を「ServiceReference」にしています。

図4 サービス参照の追加

図4 サービス参照の追加

以上で,Bing APIにアクセスするBingPortTypeClientというクラスが作成されています。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入