Facebook Graph API 提供用户的 current location有两种格式:名称和 ID。 ID 可以类似于 104022926303756。名称可以是加州帕洛阿尔托或中国北京。从这两个领域,我如何提取国家?所有美国位置均采用 [City]、[State]
格式,而所有非美国位置均采用 [City]、[Country]
格式。我可以编写一些不那么骇人听闻的代码吗:
$states = array(
'Alabama'
'Alaska',
'Arizona',
// ...
);
$country = 'USA';
if (!in_array($locationName, $states)) {
preg_match('#, ([a-z]+$)#i', $locationName, $match);
$country = $match[1];
}
最佳答案
?
如您所见,在用户表上使用 FQL,您将收到的 JSON 类似于:
{
"data": [
{
"current_location": {
"city": "Turin",
"state": "Piemonte",
"country": "Italy",
"zip": "",
"id": 115351801811432,
"name": "Turin, Italy"
}
}
]
}
这里有 country 字段,更具可读性:-)
编辑: 链接已断开,因为查询末尾缺少括号,无论如何 FQL 查询是:
SELECT current_location FROM user WHERE uid=me()
"me()"可以是任何用户 ID。
关于facebook - 如何获取 Facebook 用户的当前国家?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9574979/