facebook - 如何获取 Facebook 用户的当前国家?

标签 facebook facebook-graph-api

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];
}

最佳答案

如何使用这个:http://developers.facebook.com/tools/explorer/?method=GET&path=fql%3Fq%3DSELECT%20current_location%20FROM%20user%20WHERE%20uid%3Dme()

?

如您所见,在用户表上使用 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/

相关文章:

javascript - Facebook 发帖请求有时能让我看到帖子,有时却不能(很奇怪)

facebook - wit.ai 理解选项卡未产生预期的意图角色

facebook - 要使用 'Page Public Content Access' ,您对这个端点的使用必须经过 Facebook 的审查和批准

facebook - 从电子邮件 ID 中搜索 FB 用户 ID - 就像在 MS Outlook 2010 Social Connect 插件中一样

javascript - Facebook 应用程序 - Javascript 设置 Canvas 高度?

javascript - React map 更改索引号并破坏条件渲染

facebook - 在 facebook 中通过照片搜索人(使用人脸识别)

facebook - 10 月 1 日到来,我可以在启用 SSL 的 FB 应用程序中使用 iframe 非 SSL 站点吗?

java - 在 JAVA 中使用 facebook RestFB API

php - 如何缓存 PHP 生成的动态页面并包含开放图形元信息