2013-04-25 53 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