Использование API-интерфейса Facebook для получения списка друзей пользователя

Мне нужно удержать пользователя из списка друзей моих приложений, чтобы отфильтровать пользователей, которые появляются в подборщике друзей. Я знаю, что могу вызвать следующее и получить список:

https://graph.facebook.com/me/friends?access_token=<access_token>

Я попробовал его в адресной строке со своей учетной записью, и, похоже, она работает именно так, как мне нужно. Проблема в том, что я не знаю, как ее использовать в самом файле js. Я попытался позвонить ему и получить данные с помощью jquery-вызова, но, похоже, он ничего не возвращает.

$.get("https://graph.facebook.com/me/friends",
    {access_token: <access_token>},
    function(data){ document.write("Data Loaded: " + data);});

Как мне называть это в моих js файлах, а затем использовать информацию? Спасибо.

Ответ 1

ОБНОВЛЕНИЕ. В соответствии с изменениями, внесенными в V2.0, /me/friends вернет друзей приложения.


Правильный способ сделать это с помощью Facebook Javascript-SDK, примерно так:

function getFriends() {
    FB.api('/me/friends', function(response) {
        if(response.data) {
            $.each(response.data,function(index,friend) {
                alert(friend.name + ' has id:' + friend.id);
            });
        } else {
            alert("Error!");
        }
    });
}

Обратите внимание:

  • Я тоже использую jQuery
  • Вам может потребоваться проверить, подключен ли пользователь до вызова этой функции.

Ответ 2

Если вы хотите извлечь информацию из графика с помощью JavaScript, вам нужно будет использовать JS SDK и FB.api для выполнения вызовов.

Ответ 3

Это работает для меня:

<!DOCTYPE html> <html lang="en"> <head>
    <meta charset="utf-8" />
    <title>JSON Sample</title> </head> <body>
    <div id="placeholder"></div>
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>   $.getJSON('https://graph.facebook.com/eris.risyana/friends?limit=100&access_token=[your_access_token]', function(mydata) {
        var output="<ul>";
        for (var i in mydata.data) {
            output+="<li>NAMA : " + mydata.data[i].name + "<br/>ID : " + mydata.data[i].id + "</li>";
        }

        output+="</ul>";
        document.getElementById("placeholder").innerHTML=output;   });
    </script> </body> </html>

Результат:

NAMA : Priscillia Anna Yuliana
ID : 534513444
NAMA : Priyatna Mii
ID : 534619517
NAMA : Icha Sasmita
ID : 544737437
NAMA : CW Trianggono
ID : 599225957
NAMA : Krshna Sulanjana
ID : 605633569
NAMA : Aris Pujiarti
ID : 635209234
NAMA : Armand Muljadi
ID : 663419616
NAMA : Nurdin Somantri
ID : 675697956
NAMA : Muhammad Zamzam Fauzanafi
ID : 686838979
NAMA : Jerome Coutelier
ID : 690661663