2011-01-05 84 views

回答

2
FB.api('/me', function(response) { 
    var location = response.location.name; 
}); 
1

FaceBook文档包含您正在查找的信息,包括示例代码和说明。它可在:

http://developers.facebook.com/docs/guides/canvas

您也可以找到图形API有用:http://developers.facebook.com/docs/api

+2

作为一个小提示,通常,你会想要回答的不仅仅是一个链接。包括示例代码和详细说明是产生高质量答案的好方法。我编辑你的答案只是一点点,以帮助你。 – Josh 2011-01-06 06:12:57

+0

@josh欢迎n保持支持 – magna 2011-01-06 09:45:23

9

你的朋友被认为是用户,让你去user documentation,得到字段名location(以请发送fields参数)并且您检查您是否需要特定权限:

需要user_location o r friend_location许可

然而,有一个错字!为了得到你的朋友的位置,你需要friends_location(与s),reference

下面是一个PHP-SDK例如:

$facebook->api('/friend_id', 'get', array("fields"=>"name,location")); 

在这里,我检索namelocation领域(请注意,id域将自动检索)。

+0

这是否适合您?我真的无法让它工作。只有名字被返回(正确地要求friendS_location的烫发)。 – grm 2011-02-08 22:11:38

+0

@grm:是的,它** **但你的朋友应该设置城市出现!我发现有40%的朋友没有设置它! – ifaour 2011-02-08 23:08:04

+0

请记住,位置字段返回一个对象。为了检索位置,你必须使用$ profile ['location'] - > name。 – 2012-11-12 14:21:18

2

最快的方式让你从你可以使用FQL方法的用户的朋友希望所有的信息:

$this->api->api(array('method'=>'fql.query','query'=>"SELECT uid,name,first_name,middle_name,last_name,pic_square,hometown_location,current_location,profile_url,email,website FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())")); 

与他们对应的列名的所有表的列表,我指的是:Facebook FQL Reference &栏=位置

1
fql?q=SELECT locale,current_location from user where uid in(select uid2 from friend where uid1=me()) 

需要user_loca重置或friend_location权限

0
FB.api('/me', function(response) { 
    document.getElementById("UserLocation").innerHTML = response.location.name; 
}); 

在您的HTML代码中调用UserLocation任何HTML标记中的Id。恩。

<div id="UserLocation"></div>