Rails Koala gem - 获取用户的国家/地区

时间:2014-06-12 09:11:35

标签: ruby-on-rails facebook omniauth koala-gem

我使用OmniAuth和Koala gem将Facebook Connect添加到我的应用程序中,并且我试图获取用户的国家/地区。

到目前为止,我有:

graph = Koala::Facebook::API.new(user.oauth_token)
profile = graph.get_object("me")

profile["location"]为我提供了城市的ID和名称。

我已经尝试过:graph.get_object(city_id)它会返回城市对象,但我无法找到城市中的任何国家/地区。

我也可以从位置字符串"Kfar Saba, Israel"获取国家/地区名称,但这似乎是一个黑客......任何正式的方式来获得我正在寻找的东西?谢谢!

1 个答案:

答案 0 :(得分:0)

存在的问题是,地方信息页的位置数据并不总是完整的。我认为如果Place页面的location.country字段为空,则需要将位置字符串解析实现为后备。请注意,位置字符串可能也包含location.state,这意味着您必须在逗号分割后使用最后一个标记。

图表API不会为指定城市返回任何国家/地区: https://developers.facebook.com/tools/explorer?method=GET&path=114269838585202&version=v2.0

有关Page对象结构的信息,请参阅https://developers.facebook.com/docs/graph-api/reference/v2.0/page#readfields