使ってみよう! Bing API/SDK

第20回 使ってみよう! Bing API──jQuery編(2)

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

はじめに

前回に引き続いてBing APIをjQueryにより操作します。今回は画像や動画の検索です。

前回の掲載日(3月15日)がちょうどInternet Explorer 9の正式版のリリース日でした。ただし,日本語版は,東北地方太平洋沖地震の影響を考慮して公開が延期されています。このリリース時期にBingの新機能の公開もあるのではないかという うわさもありましたが,実際には新機能の公開はありませんでした。前回から今回までに大きな機能は追加されておらず※1),Bing APIにも更新はありません。

※1

米国版のBingではアトラクションの情報が検索できる新機能などの追加はありました。

今回の内容とは関係がありませんが,Bing Mapsでは震災後,被災地の一部の航空写真が更新されています。また震災前と比較できるMap App図1や,通行実績を表示するMap App図2が公開されています。

図1 Japan Earthquake Map App

図1 Japan Earthquake Map App

図2 Road Status Japan Map App

図2 Road Status Japan Map App

画像の検索

Bing APIで画像を検索してみましょう。APIの呼び出しは,次のようなURLにアクセスします。前回のWebサイト検索の場合と比較すると,Sourcesパラメーターの値がWebからImageに変わり,Web.CountおよびWeb.Offsetパラメーターの代わりにImage.CountImage.Offsetパラメーターを使用しています。

  • http://api.bing.net/json.aspx?
      AppId=AppId&
      Version=2.2&
      Market=ja-JP&
      Query=Windows&
      Sources=Image&
      Image.Count=2&
      Image.Offset=0

Image.CountおよびImage.Offsetに指定できる値は,Webサイト検索の場合と同じく最大50と最大1000です。

URLにアクセスすると次のようなJSON形式の結果が得られます。ひとつひとつの画像の結果は,SearchResponse.Image.Results配列に格納されています※2)。各要素は,Thumbnailオブジェクトなど画像検索結果に関したプロパティを持っています。

※2

前回のWebサイト検索の場合は,SearchResponse.Web.Resultsでした。

{
    "SearchResponse": {
        "Image": {
            "Offset": 0, 
            "Results": [
                {
                    "DisplayUrl": "http://windows.microsoft.com/lt-LT/windows7/what-is-windows-live", 
                    "FileSize": 185115, 
                    "Height": 441, 
                    "MediaUrl": "http://res1.windows.microsoft.com/resbox/lt/Windows%207/main/3/1/31ded92b-cc47-41dd-a3ae-1eafaf199e92/31ded92b-cc47-41dd-a3ae-1eafaf199e92.jpg", 
                    "Thumbnail": {
                        "ContentType": "image/jpeg", 
                        "FileSize": 4692, 
                        "Height": 160, 
                        "Url": "http://ts1.mm.bing.net/images/thumbnail.aspx?q=809769770960&id=b7f7d82caa4e866d5a8838a832906dde", 
                        "Width": 148
                    }, 
                    "Title": "Windows Live pagrindinis puslapis yra puiki vieta pradėti, kad ir ką ...", 
                    "Url": "http://windows.microsoft.com/lt-LT/windows7/what-is-windows-live", 
                    "Width": 410
                }, 
                {
                    "DisplayUrl": "http://windows.microsoft.com/nb-NO/windows-vista/Record-TV-in-Windows-Media-Center", 
                    "FileSize": 150777, 
                    "Height": 325, 
                    "MediaUrl": "http://res1.windows.microsoft.com/resbox/nb/Windows%20Vista/Main/7/0/70d4ae6d-6866-437c-a466-5c908dc4ee57/70d4ae6d-6866-437c-a466-5c908dc4ee57.png", 
                    "Thumbnail": {
                        "ContentType": "image/jpeg", 
                        "FileSize": 3593, 
                        "Height": 126, 
                        "Url": "http://ts2.mm.bing.net/images/thumbnail.aspx?q=553917419693&id=ce43aa0c375b042edca53b0681ff9099", 
                        "Width": 160
                    }, 
                    "Title": "Bla gjennom innspilt innhold i Windows Media Center", 
                    "Url": "http://windows.microsoft.com/nb-NO/windows-vista/Record-TV-in-Windows-Media-Center", 
                    "Width": 410
                }
            ], 
            "Total": 186000
        }, 
        "Query": {
            "SearchTerms": "Windows site:microsoft.com"
        }, 
        "Version": "2.0"
    }
}

Image.Results要素(ImageResultオブジェクト)の内容は次の通りです。必ずしもすべてのプロパティが結果に含まれているわけではありません。

名前 説明
FileSize ファイルサイズ(バイト数)
Title タイトル
MediaUrl 画像へのURL
Url 画像を含むWebサイトへのURL
DisplayUrl 検索結果のページに表示するURL
Width 画像の横幅(ピクセル)
Height 画像の縦幅(ピクセル)
ContentType MIMEタイプ(image/jpeg など)
Thumbnail サムネイルを表すThumbnailオブジェクト
Url, ContentType, Width, Height, FileSizeプロパティを持つ

著者プロフィール

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

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

URL:http://katamari.jp