в jQuery $.getJSON-как разобрать flickr.фото.поиск вызова REST API?
попытка адаптировать $.getJSON Flickr Пример:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
для чтения из flickr.фото.поиск REST API метод, но ответ JSON отличается для этого вызова.
это то, что я сделал до сих пор:
var url = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=YOURAPIKEYHERE&tags=yokota+air+base&safe_search=1&per_page=20";
var src;
$.getJSON(url + "&format=json&jsoncallback=?", function(data){
$.each(data.photos, function(i,item){
src = "http://farm"+ item.photo.farm +".static.flickr.com/"+ item.photo.server +"/"+ item.photo.id +"_"+ item.photo.secret +"_m.jpg";
$("<img/>").attr("src", src).appendTo("#images");
if ( i == 3 ) return false;
});
});
Я думаю, что я не строю изображение src правильно. Не удалось найти документацию о том, как построить образ src, основываясь на том, что такое ответ JSON. как вы разбираете flickr.фото.поиск вызова REST API?
4 ответов
Это можно упростить, выбрав параметр "url_m" extras и параметр per_page...
extras=url_m&per_page=4
тогда все что вам нужно это внутри цикла...
$("<img/>").attr("src", item.url_m).appendTo("#images");
для доступа к API Flickr необходимо использовать https: //
:
var url = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=YOURAPIKEYHERE&tags=yokota+air+base&safe_search=1&per_page=20";
var src;
документация API jQuery для jQuery.getJSON () имеет полезный пример здесь:http://api.jquery.com/jquery.getjson/
документация предоставляет полный файл в качестве примера того, как анализировать вызов API; он загружает четыре последние фотографии Mount Rainier из API Flickr JSONP. Я перепечатаю файл здесь как дополнительный контекст, который может быть полезен, особенно для тех, кто новичок в использовании API.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.getJSON demo</title>
<style>
img {
height: 100px;
float: left;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="images"></div>
<script>
(function() {
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON( flickerAPI, {
tags: "mount rainier",
tagmode: "any",
format: "json"
})
.done(function( data ) {
$.each( data.items, function( i, item ) {
$( "<img>" ).attr( "src", item.media.m ).appendTo( "#images" );
if ( i === 3 ) {
return false;
}
});
});
})();
</script>
</body>
</html>