2011-03-15 124 views
10

我需要的朋友我的應用程序的列表中的用戶保持用於過濾的朋友選擇器顯示用戶清單。我知道我可以調用以下,並得到該列表:使用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文件中調用這個函數,然後實際使用這些信息?謝謝。

回答

23

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

3

如果要從JavaScript中提取圖形信息,必須使用JS SDKFB.api方法進行調用。

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

相關問題