2 votes

Maintenir l'ordre des flux Flickr API

Je suis en train d'essayer de mettre en place un petit site qui récupère des jeux de flickr en utilisant JavaScript et JSON. Tout fonctionne bien sauf que l'ordre des photos sur le site diffère de celui de l'ensemble sur Flickr. J'ai fait des recherches approfondies pour trouver une solution, mais je n'ai pas eu de chance. Est-ce que quelqu'un a déjà eu ce problème ? et/ou connaît-il une solution ? Mon code actuel est le suivant :

function getImages(setID) {
 $.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=" + setID + "&nsid=USER_ID&lang=en-us&format=json&jsoncallback=?", displayImages);
} 

function displayImages(data) {
 var htmlString = "";
 $.each(data.items, function(i,item){

   // get large images
   var nextImage = (item.media.m).replace("_m.jpg", "_b.jpg");
   htmlString += '<img title="' + item.title + '" src="' + nextImage;
   htmlString += '" alt="'; htmlString += item.title + '" />';

 });

 $('#images').html(htmlString);
}

1voto

Javide Points 493

Après avoir consulté l'interface utilisateur, j'ai fini par utiliser l'option rest au lieu de feeds ce qui permet d'introduire correctement la commande. Malheureusement, il n'est pas possible d'accéder aux grandes images de cette manière, mais les informations nécessaires pour y accéder sont fournies. img src pour chaque image lors de la mise en boucle :

function getImages(setID) {
 $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=yourAPIkey&photoset_id=" + setID + "&lang=en-us&format=json&jsoncallback=?", displayImages);
} 

function displayImages(data) {
 var htmlString = "";
 $.each(data.photoset.photo, function(i,photo){

   var imgSrc = 'http://farm' + photo.farm + '.static.flickr.com/' + photo.server + '/' + photo.id + '_' + photo.secret + '_b.jpg';
   htmlString += '<img title="' + photo.title + '" src="' + imgSrc;
   htmlString += '" alt="'; htmlString += photo.title + '" />';

 });

 $('#images').html(htmlString);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X