Flickr API Поиск? - PullRequest
       13

Flickr API Поиск?

0 голосов
/ 29 апреля 2011

У меня есть некоторый php-код, который извлекает набор изображений на основе фотосета.Я хочу манипулировать этим кодом, чтобы он захватывал набор картинок из поискового запроса.

Я знаю, что вы можете использовать встроенный в API метод: flickr.photos.search

Просто интереснокак я могу применить его к этому коду

 <?php
  $params = array(
'api_key'   => '2292bec0973f91d9f62fb606f85ee031',
'method'    => 'flickr.photosets.getPhotos',
'photoset_id'   => '72157622566216264',
'extras'    => 'original_format',
'format'    => 'php_serial'
  );
  $encoded_params = array();
  foreach ($params as $k => $v){ $encoded_params[] = urlencode($k).'='.urlencode($v); }

   $ch = curl_init();
   $timeout = 5; // set to zero for no timeout
   curl_setopt ($ch, CURLOPT_URL, 'http://api.flickr.com/services/rest/?'.implode('&',             $encoded_params));
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
   $file_contents = curl_exec($ch);
   curl_close($ch);

   $rsp_obj = unserialize($file_contents);

   if ($rsp_obj['stat'] == 'ok') {

    $photos = $rsp_obj["photoset"]["photo"];

echo "
     <ul>";

foreach($photos as $photo) {

           $farm              = $photo['farm'];
           $server            = $photo['server'];
           $photo_id          = $photo['id'];
           $secret            = $photo['secret'];
           $photo_title       = $photo['title'];

         echo '<li><img          src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].'_t.jpg" alt="'.$photo['title'].'" ></li>';

     }
       echo "
           </ul>

            ";

} else {
        echo "Error getting photos";
   }
   ?>

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

Вы читали документацию? flickr.photos.search

Эти методы возвращают похожие данные, но имя массива верхнего уровня отличается ( photos и photoset ). Предполагая, что вы изменили свои параметры, чтобы использовать правильный метод и передать соответствующие аргументы, единственное, что вам нужно изменить, это строка:

$photos = $rsp_obj["photos"]["photo"];
0 голосов
/ 07 июля 2011

Используйте этот URL-адрес запроса:

http://flickr.com/services/rest/?method=flickr.photos.search&api_key=YOUR-KEY&text=YOUR-SEARCH TERM & per_page = 10 & format = php_serial

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...