Bing Search APIのプライマリーアカウントキーの取得

Bing Search APIを使用するには$0.00のサブスクリプションを購入し(無料です)、プライマリーアカウントキーを取得する必要があります。

プライマリーアカウントキーの取得方法は
Bing Search APIでWeb検索の記事
を参照してください。

画像検索を行う

Web検索と同様に、検索ワードをQueryとして、market情報や出力フォーマットを指定します。
今回はJsonフォーマットで行います。

また、画像検索ではImageFiltersクエリでイメージフィルターをかけることができます。
おそらく「+」文字列区切りで区切ればいくつもフィルターを指定できるはずだったのですが何度やってもエラーなのでひとつまでしかフィルターをかけることができませんでした。

イメージフィルターの一覧は
こちら
にあります。

続いて検索ワードを文字列エンコードします。

次に取得したプライマリーアカウントキーをNetworkCredentialクラスのユーザー名とパスワードの両方に(同じ値を)設定し、
HttpClientを作成してGetリクエストを送ります。

ダウンロードした文字列を文字列デコードします。

ここまでで画像検索結果をJsonで取得できました。

Json.Netで変換する

続いてJsonのデシリアライズ(Json→C#のクラスに変換)を行います。
Jsonデシリアライズを行うにあたって、Json.Netというライブラリを使用するので
Nugetで「Json.Net」と検索してインストールします・

次にこのような画像検索のJsonフォーマットと対応したクラスを作ります。

クラスを作成できたらデシリアライズを行います。

これで画像検索結果をC#のクラスで扱うことができるようになりました。

これをListViewで表示してみましょう。

このような
ListViewを用意します。

ListViewを作成できたらItemsSourceにJsonデシリアライズしたリストを入れます。

14

全体的なコードはこのようになります。