使用Facebook的图形API来获取用户的朋友

问题描述:

我需要的朋友我的应用程序的列表中的用户保持用于过滤的朋友选择器显示用户清单。我知道我可以调用以下,并得到该列表:使用Facebook的图形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文件中调用这个函数,然后实际使用这些信息?谢谢。

UPDATE:依照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. 在调用此函数之前,您可能需要检查用户是否已连接。
+2

这两个答案是正确的,但是这一次赢得了一定的例子奖。谢谢一堆! – keybored 2011-03-16 15:38:47

+0

@keybored:不客气! – ifaour 2011-03-16 15:42:08

+0

该解决方案只会吸引那些已经授权该应用程序的用户。任何人都有一个解决方案,将拉我朋友的名单中的所有用户? – 2014-10-13 04:36:25

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

它的工作对我来说:

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

这也适用于我。谢谢! – Shilpa 2016-08-02 13:24:03

+0

@Shilpa这个代码仍然适合你吗? – Abhinay 2016-12-26 08:17:32

+0

@Abhinay:通过这种方法,我遇到了访问令牌的问题,因此开始在我的应用程序中使用JS SDK。 – Shilpa 2016-12-26 11:25:36