Facebook friends list

2

I have the following problem when trying to search the facebook friends list of the person logged in I have the script done so only login I am not listing the friends of the person logged in

Thank you for your help

Script

    <div id="result_friends"></div>
    <div id="fb-root"></div>

    <script>
    function sortMethod(a, b) {
        var x = a.name.toLowerCase();
        var y = b.name.toLowerCase();
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    }

    window.fbAsyncInit = function() {
        FB.init({ appId: '<?= $sApplicationId ?>', 
            status: true, 
            cookie: true,
            xfbml: true,
            oauth: true
        });

        function updateButton(response) {
            var button = document.getElementById('fb-auth');

            if (response.authResponse) { // in case if we are logged in
                var userInfo = document.getElementById('user-info');
                FB.api('/me', function(response) {
                    userInfo.innerHTML = '<img src="https://graph.facebook.com/'+response.id+'/picture">' + response.name;
                    button.innerHTML = 'Logout';
                });

                // get friends
                FB.api('/me/friends?limit=<?= $iLimit ?>', function(response) {
                    var result_holder = document.getElementById('result_friends');
                    var friend_data = response.data.sort(sortMethod);

                    var results = '';
                    for (var i = 0; i < friend_data.length; i++) {
                        results += '<div><img src="https://graph.facebook.com/'+friend_data[i].id+'/picture">' + friend_data[i].name + '</div>';
                    }

                    // and display them at our holder element
                    result_holder.innerHTML = '<h2>Result list of your friends:</h2>' + results;
                });

                button.onclick = function() {
                    FB.logout(function(response) {
                        window.location.reload();
                    });
                };
            } else { // otherwise - dispay login button
                button.onclick = function() {
                    FB.login(function(response) {
                        if (response.authResponse) {
                            window.location.reload();
                        }
                    }, {scope:'email'});
                }
            }
        }

        // run once with current status and whenever the status changes
        FB.getLoginStatus(updateButton);
        FB.Event.subscribe('auth.statusChange', updateButton);    
    };

    (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
    }());
    </script>
    
asked by anonymous 30.01.2015 / 22:39

2 answers

3

According to the Graph API documentation , the only friends who will be returned to those who use the app. Otherwise, the list will come empty even.

  

Permissions

     
  • A user access token with user_friends permission is required to view the current person's friends.
  •   
  • This will only return any friends who have used (via Facebook Login) the app making the request.
  •   
  • If a friend of the person declines the user_friends permission, that friend will not show up in the friend list for this person.
  •   
    
30.01.2015 / 23:33
0

Hello, from api version 2.0 the friendlist is only shown if your app is in the games category.

    
15.07.2016 / 19:51