使用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!");
}
});
}
请注意:
- 我使用jQuery在这里太
- 在调用此函数之前,您可能需要检查用户是否已连接。
答
它的工作对我来说:
<!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
这两个答案是正确的,但是这一次赢得了一定的例子奖。谢谢一堆! – keybored 2011-03-16 15:38:47
@keybored:不客气! – ifaour 2011-03-16 15:42:08
该解决方案只会吸引那些已经授权该应用程序的用户。任何人都有一个解决方案,将拉我朋友的名单中的所有用户? – 2014-10-13 04:36:25