Facebook图形API:获取用户所在城市(位置)
我目前实现了Facebook登录并获取用户位置的访问权限。像这样:Facebook图形API:获取用户所在城市(位置)
user.profile.city = auth.info.location
我只需要城市的用户,但位置给了城市和州。根据许可文档,位置是用户的城市。但它也是一种状态。
如何获得唯一的城市?有什么办法吗?因为例如
user.profile.city = auth.info.location.split(",")[0]
:
我假设你使用的是一些gem
像omniauth
,omniauth-facebook
试试这个
`auth.info.location` value = location: Olongapo City, Philippines
使用所提供的代码,它会return Olongapo City
哇,简单而好看:-) – user2206724 2013-04-26 09:14:58
这不行。有许多用户的位置不包括国家/地区。例如,一个非常流行的是“利物浦”。 (真实用户记录的实例)。 Facebook不会在“位置”字段上强制执行结构 - 它是页面指针。 – 2014-12-24 18:20:42
这样做:
SELECT current_location FROM user WHERE uid=USER_ID
https://developers.facebook.com/tools/explorer/
尝试用图形API浏览器:/我 只有城市和国家赋予的位置和家乡,没有邮编,国家,
FB.api('/me', function (json) {
var fid = json.id;
var sCity = '';
var sState = '';
if (json.location !== undefined && json.location.name !== undefined) {
var sLoc = json.location.name;
var aLoc = sLoc.split(',');
if (aLoc.length > 0) {
sCity = aLoc[0];
}
if (aLoc.length > 1) {
sState = aLoc[1];
}
}
});
难道你不能把这座城市解析为“城市+州”吗? – Madbreaks 2013-04-25 19:52:08
@Madbreaks不知道该怎么做。对不起,新的ror。 – user2206724 2013-04-25 20:04:11