如何使用他们的uid在Facebook中显示用户的名称?

时间:2011-05-14 22:30:06

标签: javascript facebook fbml xfbml uid

我正在为iframe画布应用程序异步加载JavaScript SDK。

我知道fbml已被弃用并被淘汰,但是xfbml仍然可以吗?

我还可以使用fb:name例如。 <fb:name uid="2901279">

有没有更好的方法来为用户打印100个朋友的名字,例如?

2 个答案:

答案 0 :(得分:2)

您需要开始使用Graph API,这是一个快速的工作示例,以帮助您入门:

<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Facebook Javascript SDK</title>
</head>
<body>
    <div><fb:login-button perms=""></fb:login-button></div>

    <div id="friends"></div>


    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId   : 'APP_ID',
          cookie  : true,
          status  : true,
          xfbml   : true 
        });

        FB.Event.subscribe('auth.login', function(response) {
          window.location.reload();
        });

        FB.api('/me/friends',function(resp) {
            if(resp && resp.data.length) {
                var html = '<ul>';
                for(var i=0; i<resp.data.length; i++) {
                    html += '<li><img src="http://graph.facebook.com/' + resp.data[i].id + '/picture?type=small" />' + resp.data[i].name + '</li>';
                }
                html += '</ul>';
                document.getElementById('friends').innerHTML = html;
            }
        });
      };

      (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
      }());
    </script>
</body>
</html>

只需替换您的应用程序ID,您就可以开始使用了!

答案 1 :(得分:1)

你说得对,你可能不应再使用fbml,但“社交插件”中的所有标记仍然会被鼓励(即like button)。

无论是否弃用,我更喜欢完全控制我的应用程序布局 - 而是使用<fb:name...标签,您可以从“http://graph.facebook.com/UID/获取所有朋友列表朋友“并解析结果JSON。 (在PHP-SDK中:$fb->api("/me/friends");)。