Получите изображения Flickr используя php

Я пытаюсь получить доступ к изображениям Flickr, используя ключ API и секретный ключ. После поиска я получил zip-файл по ссылке. После предоставления apikey и секретного ключа в файле example.php я получаю предупреждение, т.е.

Warning: Invalid argument supplied for foreach() in C:\wamp\www\phpFlickr-3.1\example.php on line 21

Вот пример кода, который я пытаюсь:

require_once("phpFlickr.php");
$f = new phpFlickr($api_key);

$recent = $f->photos_getRecent();

foreach ($recent['photo'] as $photo) {
  $owner = $f->people_getInfo($photo['owner']);
  echo "<a href='http://www.flickr.com/photos/" . $photo['owner'] . "/" . $photo['id']     . "/'>";
  echo $photo['title'];
echo "</a> Owner: ";
echo "<a href='http://www.flickr.com/people/" . $photo['owner'] . "/'>";
echo $owner['username'];
echo "</a><br>";
}

Пожалуйста, помогите мне, я пытаюсь сделать этот код за последние 3 дня, но ничего не работает:(.

2 ответа

Решение

Вам нужен онлайн-сервер, чтобы попробовать код, который вы используете, так как вы хотите проверить Flick API. Это правильно, но вы должны купить сервер на пару часов, чтобы попробовать свой код. Хорошее предложение https://www.digitalocean.com/

Этот фрагмент кода можно использовать для проверки и подтверждения правильности запроса-ответа между вашим приложением и приложением Flickr. Бывают случаи, когда ответ от Flickr не такой, как ожидалось, из-за неправильных параметров запроса, из-за которых страница не будет отображаться должным образом

Примечание: вам может потребоваться проверить, работает ли cURL на сервере, на котором вы планируете запускать этот код, и внесите необходимые изменения, прежде чем выполнять приведенный ниже код.

<?php 

$url = 'https://api.flickr.com/services/rest/';
$data = array("method"=>"flickr.photos.getRecent","api_key"=>"{YOUR_API_KEY}","format"=>"json","nojsoncallback"=>"1");
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

$result_data_json = json_decode($result,true);

$photoset = $result_data_json['photos'];
$photos = $photoset['photo'];

curl_close($ch);

foreach($photos as $pic){
    // https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg
    $pic_thumbnail_url = 'https://farm'.$pic['farm'].'.staticflickr.com/'.$pic['server'].'/'.$pic['id'].'_'.$pic['secret'].'_n.jpg';
    $pic_url = 'https://farm'.$pic['farm'].'.staticflickr.com/'.$pic['server'].'/'.$pic['id'].'_'.$pic['secret'].'.jpg';
    $pic_large_url = 'https://farm'.$pic['farm'].'.staticflickr.com/'.$pic['server'].'/'.$pic['id'].'_'.$pic['secret'].'_b.jpg';

    echo '<img src='.$pic_thumbnail_url.'</img>';
 // echo '<br/><img src='.$pic_url.'</img>';
 // echo '<br/><img src='.$pic_large_url.'</img>';
}
?>
Другие вопросы по тегам