2

我目前已经实现了 facebook 登录并访问了用户的位置。像这样:

    user.profile.city = auth.info.location

我只需要用户的城市,但位置给出城市和州。根据权限文档,位置是用户所在的城市。但它也在给予状态。

如何获得唯一的城市?有什么办法吗?

4

3 回答 3

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];
        }
    }
});
于 2013-04-26T05:31:17.940 回答
2

我假设您正在使用gem类似的东西omniauthomniauth-facebook

尝试这个:

 user.profile.city = auth.info.location.split(",")[0]

因为例如

`auth.info.location` value = location: Olongapo City, Philippines

使用提供的代码它将return Olongapo City

于 2013-04-26T05:05:28.810 回答
0

做这个:

SELECT current_location FROM user WHERE uid=USER_ID

示例:https ://developers.facebook.com/tools/explorer?fql=SELECT%20current_location%20FROM%20user%20WHERE%20uid%3D4

于 2013-04-26T03:27:39.240 回答