2010-12-08 14 views
11

Estoy tratando de obtener un conjunto específico de Flickr y luego mostrar las imágenes en ese conjunto usando la API JSON y REST. Aquí está el código que estoy usando:Jquery JSON Flickr API devolviendo fotos en un conjunto

$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=xxx&set=72157623858739780&format=json&jsoncallback=?", function(data){ 
    $.each(data.items, function(i,item){ 
    $("<img/>").attr("src", item.media.m).appendTo("#images"); 
    }); 
}); 

Eliminé la clave api del ejemplo. La url con mi llave en ella, cuando se escribe en mi navegador web, devuelve el siguiente error:

jsonFlickrApi({"stat":"fail", "code":1, "message":"Photoset not found"}) 

que conoce el identificador de conjunto es correcto, ya que navegar a http://www.flickr.com/photos/[email protected]/sets/72157623858739780/ funciona bien.

ACTUALIZACIÓN

me las arreglé para que todo funcione. Aquí está mi código revisado en caso de que otros estén tratando de resolverlo.

function FlickrPhotoSet(){ 



    //SET API CALL BASED ON INPUT 
    var apiCall = "http://api.flickr.com/services/rest/?format=json&method=flickr.photosets.getPhotos&photoset_id=THESET&per_page=10&page=1&api_key=XXX&jsoncallback=?"; 

    //PRINT API CALL (DEBUG)  
    $("<span>").html(apiCall+"<br>").appendTo("body"); 

    //SEND API CALL AND RETURN RESULTS TO A FUNCTION  
    $.getJSON(apiCall, function(data){ 

     //LOOP THROUGH DATA 
     $.each(data.photoset.photo, function(i,photo){ 

     //LINK TO IMAGE SOURCE 
     var img_src = "http://farm" + photo.farm + ".static.flickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + "_" + "s.jpg"; 

     //LINK TO IMAGE PAGE (REQUIRED BY FLICKR TOS) 
     var a_href = "http://www.flickr.com/photos/" + data.photoset.owner + "/" + photo.id + "/"; 

     //PLACE IMAGE IN IMAGE TAG AND APPEND TO IMAGES DIV 
     $("<img/>").attr("src", img_src).appendTo("#image_block") 

     //WRAP IN LINK 
     .wrap(("<a href='" + a_href + "'></a>")) 
     }); 

    }); 


}; 
+0

¿cuál es el problema anterior? ¿Quieres decir que el parpadeo no está devolviendo datos? – kobe

+1

escriba la url directamente en el navegador, si le da los mismos datos de error, eso significa que los datos de su url son incorrectos, no hay ningún problema en javascript existe – kobe

Respuesta

2

From the flickr API docs parece que su parámetro set en su URL debe ser photoset_id.

+0

¡Gracias! Decidí ir por la ruta javascript pura y lo hice funcionar. –

Cuestiones relacionadas