【问题标题】:Facebook Image Gallery on Website (PHP/JSON)网站上的 Facebook 图片库 (PHP/JSON)
【发布时间】:2013-04-25 17:36:12
【问题描述】:

我正在尝试获取一个 Facebook 画廊 (https://www.facebook.com/media/set/?set=a.188384271935.125248.188249156935&type=3),特别是在网站上显示。

我尝试过的所有 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 很不熟悉,如果你能展示一个工作的 sn-p 代码示例,我将不胜感激。

【问题讨论】:

    标签: php jquery json facebook-graph-api image-gallery


    【解决方案1】:

    您的代码对我来说很好用。您应该仔细检查您的 jQuery 库是否确实正在加载,并且页面上的元素具有 viewerthumbs ID。 viewer 应该是 img 标签,thumbs 应该是某种块级元素,例如 div

    由于您没有使用jQuery(document).ready 来调用它,(至少不是来自提供的代码)您还应该确保在viewerthumbs 的标记之后包含此脚本标记。

    顺便说一句,如果您使用imgs[i].images[6].source 作为缩略图,它们会更小一些。

    【讨论】:

    • 哇...少了一个;在 view.attr 行上......我是个假人......谢谢你的帮助!
    • 如果您登录到 fb 或有某些 fb cookie,为什么此代码不起作用的任何线索?
    • 我假设您是从公共页面的画廊中提取信息?您可能要访问的页面本身是否有任何国家或年龄限制?除此之外,我不确定我是否会提供太多帮助,因为我自己对 Facebook 的 API 并不十分熟悉。
    • 据我所知,该页面是完全公开的,而且我离这个地方只有 20 分钟的路程,所以即使有类似的锁定,我想我也不会。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 2011-04-28
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多