2013-04-25 51 views
2

我想獲得特別是Facebook的畫廊(https://www.facebook.com/media/set/?set=a.188384271935.125248.188249156935&type=3)顯示在網站上。的Facebook圖片廊在網站(PHP/JSON)

所有我曾嘗試JSON例子似乎與Facebook目前的API已經過時。

https://graphs.facebook.com/10151038651796936?fields=images拉起我需要的JSON數據。但是,當我將其插入到我找到的示例中,或者甚至是來自Facebook API的示例時,它將不會加載。 (使用jQuery 1.9本地託管)

這是我想使用的代碼,但我認爲這是過時按照Facebook的當前API。

 <script type="text/javascript"> 
      (function (gallery_id) { 
      var title = $('h2'), 
       viewer = $('#viewer'), 
       thumbs = $('#thumbs'); 

      // album info 
      $.getJSON('//graph.facebook.com/' + gallery_id + '?callback=?', function(json, status, xhr) { 
       title.html('<a href="' + json.link + '">' + json.name + '</a> from ' + json.from.name); 
      }); 

      // images 
      $.getJSON('//graph.facebook.com/' + gallery_id + '/photos?callback=?', function(json, status, xhr) { 
       var imgs = json.data; 

       viewer.attr('src', imgs[0].images[0].source) 

       for (var i = 0, l = imgs.length - 1; i < l; i++) { 
       $('<img src="' + imgs[i].images[3].source + '" data-fullsize="' + imgs[i].images[0].source + '">').appendTo(thumbs); 
       } 

       $('img', thumbs).bind('click', function(e) { 
       e.preventDefault(); 
       viewer.attr('src', $(this).attr('data-fullsize')); 
       }); 
      }); 
      })('188384271935'); // put the gallery ID here 

我想什麼代碼做的是能夠選擇顯示的照片(最近)的量,併爲畫廊ID,以便能夠很容易地改變。

我與JSON相當陌生,如果你能證明確實沿着這些路線我將不勝感激一些代碼工作片斷的一個例子。

回答

0

你的代碼適合我。您應該仔細檢查您的jQuery庫是否確實正在加載,並且您的頁面上有viewerthumbs ID的元素。 viewer應該是一個img標籤和thumbs應該是某種類型的塊級元素,象div

既然你不使用jQuery(document).ready調用此,(至少不是從提供的代碼),你也應該確保這個腳本標籤被標記爲viewerthumbs後包括在內。

順便說一句,如果你使用imgs[i].images[6].source你的縮略圖,他們會稍小一點。

+0

哇...錯過了;在view.attr行....我是一個虛擬的...謝謝你的幫助! – 2013-04-25 19:50:12

+0

任何線索爲什麼如果您登錄到fb或具有某些fb cookie,此代碼不起作用? – 2013-05-02 14:46:03

+0

我假設你從公共頁面的畫廊中拉出來?您可能打的頁面有沒有國家或年齡限制?除此之外,我不確定我會得到多少幫助,因爲我本人對Facebook的API並不熟悉。 – EPB 2013-05-05 21:46:06