使用Facebook Graph API获取用户朋友的列表

时间:2011-03-15 20:46:01

标签: javascript facebook facebook-graph-api

我需要暂停我应用的朋友列表的用户,以过滤显示在朋友选择器中的用户。我知道我可以打电话给以下人员并获取清单:

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文件中调用它然后实际使用这些信息?感谢。

3 个答案:

答案 0 :(得分:23)

更新:根据changes introduced in 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!");
        }
    });
}

请注意:

  1. 我也在这里使用jQuery
  2. 在调用此函数之前,您可能需要检查用户是否已连接。

答案 1 :(得分:3)

如果您想使用JavaScript从图表中提取信息,则必须使用JS SDKFB.api方法进行调用。

答案 2 :(得分:2)

它为我工作:

<!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