2015-07-21 3 views
2

Я использую этот запрос https://api.datamarket.azure.com/Bing/Search/v1/Image?Query=delhaize%20logo для подключения к Bing Image Search API и поиска нужного изображения. Это работает очень хорошо, но мне нравится, когда Bing возвращает только jpg и png изображения. Я не могу найти нигде, как фильтровать формат изображения с помощью Bing.Bing Image Search API фильтр по формату

Я нашел this страницу относительно фильтров изображений, но нигде не упоминается формат изображения.

Любые идеи?

ответ

2

Нет способа фильтрации по формату изображения. Вы можете сделать это, хотя (PHP):

$word = 'monitor'; 
$extension = 'jpg'; 

$request = 'https://api.datamarket.azure.com/Bing/Search/v1/Image?$format=json&Query=%27'.urlencode($word).'%27&Adult=%27Strict%27&ImageFilters=%27Size%3AMedium%2BAspect%3AWide%2BColor%3AColor%2BStyle%3APhoto%27'; 
$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); 
$json = json_decode($response, true); 

if(is_array($json['d']['results'])) { 
    foreach($json['d']['results'] as $image) { 
     if(pathinfo($image['MediaUrl'], PATHINFO_EXTENSION) == $extension) { 
      # update values 
      $urls[] = $image['MediaUrl']; 
     } 
    } 
} 

print_r($urls); 

Найдет изображения, которые соответствуют «контролировать» строку, а затем вы просто фильтровать их в PHP.