bing 画像検索 api 使い方

2013年6月25日更新 view: 1107 view

yahoo の画像検索APIは 8 月で 廃止

そこで登場BingApi

http://www.bing.com/developers/
一ヶ月に5000クエリまで無料で利用できる。

準備

まずは上記URLから
プライマリ アカウント キー 9/SZH8Jbir/Mhv/sYXVLhogehogehoge を取得。

画像検索APIの使い方テスト

https://datamarket.azure.com/dataset/explore/5ba839f1-12ce-4cce-bf57-a49d98d29a44

で色んなクエリがテストできる。

早速 php で使ってみよう

スポンサードリンク

注意したいのがクエリの urlencode。
urlencode( '\'' . $keyword. '\'') と 一般的な api に比べあえて ' を多くしないとエラーになる

file_get_contents

xml解析は cakephp 独自の処理。

$accountKey = '9/SZH8Jbir/Mhv/sYXVhogehoge';            
        $keyword = '竹ノ内豊';

        $cred = sprintf('Authorization: Basic %s',
         base64_encode($accountKey . ":" . $accountKey) );
    
        $context = stream_context_create(array(
            'http' => array(
                'header' => $cred
            )
        ));
        
        $response = file_get_contents('https://api.datamarket.azure.com/Bing/Search/v1/Image?Query='.urlencode( '\'' . $keyword. '\''), 0, $context);
    
        $xmlArray = Xml::toArray(Xml::build($response));
    
        pr($xmlArray);

curl

xml解析は cakephp 独自の処理。

    $accountKey = '9/SZH8Jbir/Mhv/sYXVLqLhogehogehoge';
        $keyword = '竹ノ内豊';
        $request = 'https://api.datamarket.azure.com/Bing/Search/v1/Image?Query='.urlencode( '\'' . $keyword. '\'');

        $process = curl_init($request);
        curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($process, CURLOPT_USERPWD, $accountKey . ":" . $accountKey);
        curl_setopt($process, CURLOPT_TIMEOUT, 30);
        curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
        $response = curl_exec($process);
        $xmlArray = Xml::toArray(Xml::build($response));
    
        pr($xmlArray);
        

アカウントキーと、キーワードだけ設定すりゃ一発で使えますね。

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

4月21日 ( 土 ) にアクセスが多かった記事はこちら!