2

特にウェブサイトに表示する 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 にあまり詳しくありません。これらの行に沿って何かを実行する実際のコード スニペットの例を示すことができれば、大いに感謝します。

4

1 に答える 1

0

あなたのコードは私にとってはうまくいきます。viewerjQuery ライブラリが実際にロードされていること、およびthumbsID を持つ要素がページにあることを再確認する必要があります。viewerimgタグでthumbsある必要があり、div.

これを呼び出すために使用していないためjQuery(document).ready(少なくとも提供されたコードからではありません)、このスクリプト タグが および のマークアップの後に含まれていることも確認する必要がviewerありthumbsます。

余談ですがimgs[i].images[6].source、サムネイルに使用すると、少し小さくなります。

于 2013-04-25T18:30:58.883 に答える