在网站上向未登录的用户显示Facebook照片

时间:2013-11-13 12:37:45

标签: javascript facebook facebook-graph-api facebook-fql

我想要在网站上向任何访问过的人显示相册。目前我正在使用FQL来显示相册,但只有当我登录我的帐户时它才显示给我。有没有人知道如何验证公共用户,甚至没有Facebook帐户的人来查看相册?

当前代码:

var fbAppId = 'xxxxxxxxx';

window.fbAsyncInit = function() {
    FB.init({
      appId      : fbAppId, // App ID
      status     : true,    // check login status
      cookie     : true,    // enable cookies to allow the server to access the session
      xfbml      : true     // parse page for xfbml or html5 social plugins like login button below
    });
};

(function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

function getPhoto() {
    FB.api(
        {
          method: 'fql.query',
          query: 'SELECT src_big, src FROM photo WHERE album_object_id = "[my album id]"'
        },
        function(response) {
          if (!response || response.error) {
            console.log(response.error);
          } else {
            console.log(response);
            for (var i = 0; i < response.length; i++) {
              $('#result').append('<img src=' + response[i].src + ' alt="" /> ');
            } 
          }
        }
    );
};

1 个答案:

答案 0 :(得分:0)

如果您可以使用第三方facebook widget,这是一个没有任何编程知识的简单解决方案,可以将网站上的Facebook照片显示给未使用

登录的用户
<iframe  src="http://facebookgalleria.com/gallery.php?id=nike&rows=4&margin=10&cols=3&width=170&font_size=11&title_color=000&hide_next_back=0&share_buttons=1&shape=rectangle&frame=1" scrolling="no" marginheight="0" frameborder="0" width="551" style="height: 769px;"></iframe>

将网址中的'nike'更改为您的Facebook页面用户名,复制代码并将其粘贴到您的html网站编辑器上,它会显示得很整齐。或者在http://facebookgalleria.com自定义您的图库。但是,如果您显示个人Facebook帐户中的照片,则需要先访问该网站并与Facebook联系。然后,您生成的代码将在您的网站上运行,而您的客户无需登录即可查看它们。

希望这有帮助。