2010-07-28 108 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...!