在Facebook Graph API中获取有关位置的公共信息

时间:2012-07-12 15:52:20

标签: facebook facebook-graph-api location facebook-fql

我需要把每个人的生活城市都集中在一起。包括不是我朋友的人。

在浏览器中看到一些不知名的人的Facebook个人资料,如果将其设置为公共信息,则会显示“生活在...中”。它们包含指向城市对象的链接以及链接中的城市ID。这就是我所需要的一切。

但是,使用我创建的Facebook应用程序来使用facebook图表api,此信息不公开。我只能从我的朋友那里获得用户礼仪“位置”,我有权查看它。我给了我的应用程序所有可能的权限。

在api资源管理器中,当我将它用作REST时,它们显示的关于某人不是我的朋友的信息很少。

https://developers.facebook.com/tools/explorer/

同样在api资源管理器中,当我使用FQL时,它不起作用。

此查询有效,返回带有数据的JSON:

SELECT uid, name FROM user WHERE username='...';

但是这个其他查询不起作用:

SELECT uid, name, location FROM user WHERE username='...';

他们返回一个带有错误代码的json:

{
  "error": {
    "message": "(#602) location is not a member of the user table.", 
    "type": "OAuthException", 
    "code": 602
  }
}

我在令牌中询问了所有权限选项。我可以在Facebook的浏览器版本中获取此信息。但是我怎样才能通过API获得它?

1 个答案:

答案 0 :(得分:1)

location字段仅存在于Graph API表中。由于您使用的是FQL,因此以下是您可以使用的位置字段:

  • current_address:用户的当前地址
  • current_location:用户的当前位置
  • hometown_location:用户的家乡(和州)。

权限:

  • user_location friends_location 查看权限:current_location
  • user_hometown friends_hometown 查看权限hometown_location

来源:https://developers.facebook.com/docs/reference/fql/user/