我使用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"
获取国家/地区名称,但这似乎是一个黑客......任何正式的方式来获得我正在寻找的东西?谢谢!
答案 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。