2010-07-28 92 views
3

我一直在试图将通过Flickr进行管理的照片albumn系统放在一起,我一直在花费过去一天左右的时间来玩弄Flickr API并拥有以下代码,但它只是不会返回预期的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不确定组号是什么,是否与组ID相同? Flickr如何知道我在example 2中的身份,因为我没有看到任何API被传递。

我更倾向于将获得第一个例子中的工作,因为这是我一直在努力,但任何意见/例子是apprieciated

欢呼

回答

7

这是因为你试图使用api的饲料就像它是一个rss饲料一样。他们是两种不同的格式。看看Flickr的API,浏览器为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...!