我目前已经实施了facebook登录并访问了用户的位置。像这样:
user.profile.city = auth.info.location
我只需要用户的城市,但是位置给出了市和州。根据权限文档,location是用户的城市。但它也给了州。
如何只获得城市?有什么办法吗?
答案 0 :(得分:3)
https://developers.facebook.com/tools/explorer/
尝试使用Graph API Explorer:/ me 只提供城市和州的位置和家乡,而不是邮政编码,国家等,
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];
}
}
});
答案 1 :(得分:2)
我假设你使用了gem
omniauth
,omniauth-facebook
user.profile.city = auth.info.location.split(",")[0]
试试这个:
`auth.info.location` value = location: Olongapo City, Philippines
因为例如
return Olongapo City
使用提供的代码{{1}}
答案 2 :(得分:0)
这样做:
SELECT current_location FROM user WHERE uid=USER_ID