Как отобразить имя пользователя в Facebook, используя его uid? - PullRequest
1 голос
/ 15 мая 2011

Я загружаю JavaScript SDK асинхронно для моего приложения iframe canvas.

Я знаю, что fbml устарел и постепенно прекращается, но все еще ли xfbml в порядке?

Могу ли я использовать fb: name например? <fb:name uid="2901279">

Есть ли лучший способ напечатать имена 100 друзей для пользователя, например?

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Вам нужно начать использовать 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>

Просто замените свой идентификатор приложения, и все готово!

1 голос
/ 15 мая 2011

Вы имеете право, вам, вероятно, больше не следует использовать fbml, но вся разметка из «социального плагина» все равно будет поощряться (то есть like button).

Независимо от того, является ли это устаревшим или нет, я предпочитаю получить полный контроль над макетом моего приложения - вместо этого используйте тег <fb:name..., вы можете получить список всех друзей из "http://graph.facebook.com/UID/friends" и проанализировать JSON. (в PHP-SDK: $fb->api("/me/friends");).

...