2010-07-28 3 views
3

Я пытаюсь собрать систему фотоальбома, управляемую с помощью Flickr, я проводил прошлый день или около того, играя с API Flickr и имея следующий код, но он просто не возвращает ожидаемый HTML. insetad я получаю ошибку в моем браузере строку выше;Проблема с JQuery/Flickr API с набором фотографий

<script type="text/javascript"> 
    $(document).ready(function(){ 

    $.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxx&photoset_id=xxxxxxxxxxxxxxxxxxxx=&format=json&jsoncallback=?', displayImages); 

    function displayImages(data) { 

    var photosetID = ""; 
    var title = ""; 
    var theHtml = ""; 
    $.each(data.photosets.photoset, function(i,set){ 

    photosetID = set.id; 
    title = set.title._content; 
    ids.push(photosetID); 
    titles.push(title); 

    var sourceSquare = (set.media.m).replace("_m.jp g", "_s.jp g"); 

    theHtml+= '<li><a href="'+set.link+'" target="_blank">'; 
    theHtml+= '<img title="'+set.title+'" src="'+sourceSquare+'" alt="'+set.title+'" />'; 
    theHtml+= '</a></li>'; 
    }); 

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

    </script> 

Также я видел примеры использования что-то вроде этого ($ ('# изображений') HTML (theHtml).):

$.getJSON("http://api.flickr.com/services/feeds/groups_pool.gne?id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lang=en-us&format=json&jsoncallback=?", displayImages); 

BUt не был уверен, что такое идентификатор группы, это то же самое, что и идентификатор набора? Как Flickr знает, кто я нахожусь в примере два, так как я не вижу никакого API.

Мое предпочтение было бы получить первый пример работает, как это то, что я работаю, но любые советы/пример будет apprieciated

приветствий

ответ

7

Это потому, что вы пытаетесь использовать api, как будто это rss-канал. они представляют собой два разных формата. Посмотрите на Flickr апи браузер для photosets.getPhotos

Этот код должен получить вы собираетесь:

$.getJSON(url, function(data) { 
    $.each(data.photoset.photo, function(i,item){ 
    var squareUrl = 'http://farm' + item.farm + '.static.flickr.com/' + item.server + '/' + item.id + '_' + item.secret + '_s.jpg'; 
    var largeUrl = squareUrl.replace('_s.jpg', '_b.jpg'); 
}); 
0

Попробуйте этот код его работу и измените учетные данные после вашего завершения тестирования ... Code is here...!

Смежные вопросы