如何使用Graph-API在特定位置搜索Facebook以查找所有用户

时间:2014-11-09 16:17:31

标签: facebook facebook-graph-api search

我有一个项目,我必须在Facebook上搜索所有人 某个位置,然后对数据应用进一步的过滤器。我的问题和疑问是:

如何使用Graph API获取初始数据?

我知道可以使用Facebook本身的搜索字段。只需输入"所有人都住在???"返回人员列表。 我无法在Facebook的Graph-API中找到这样的功能。这是我试过的:

我修改了标准搜索请求的一些参数

  • search?type=user&center=52.946758,-1.172882&distance=1000
  • search?type=user&center=Nottingham&distance=1000

这就是我得到的:

{
  "error": {
    "message": "No node specified", 
    "type": "GraphMethodException", 
    "code": 100
  }
}

使用location代替center

的类似查询
  • search?type=user&location=Nottingham&distance=1000
  • search?type=user&location=52.946758,-1.172882&distance=1000
  • search?type=user&q=&location=Nottingham

只有一个令人困惑的错误,我写的位置是错误的

{
  "error": {
    "message": "(#160) Invalid coordinates.  Coordinates must contain at least latitude and longitude.", 
    "type": "OAuthException", 
    "code": 160
  }
}

然后搜索坐标为query参数的用户返回空结果。

  • search?type=user&q=52.946758,-1.172882&distance=1000

{"data": []}


然后我尝试搜索正确的位置以传递给查询的location参数

  • search?type=location&q=52.946758,-1.172882

我只有一个弃用错误

{
  "error": {
    "message": "(#12) location search is deprecated for versions v2.0 and higher", 
    "type": "OAuthException", 
    "code": 12
  }
}

我不知道怎么做到这一点。如果有人可以告诉我,如何获取这些信息,这将有所帮助 我很多,因为我不知道下一步该尝试什么。

我发现这个问题与我的问题类似,但接受的答案并没有真正回答这个问题 Facebook Search API - List all users based on location?

2 个答案:

答案 0 :(得分:4)

您可以搜索位置或搜索用户,但绝对不能搜索“区域内的所有用户”。 Facebook上的Graph搜索可以处理更多您无法通过API获得的内容。想想隐私,我不希望任何应用程序知道我是否在附近,甚至没有授权应用程序;)

Facebook文档:https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#search

要获取用户所在的locatoin,您需要查看用户参考:https://developers.facebook.com/docs/graph-api/reference/v2.2/user

那里有一个“位置”字段,您需要授权具有“user_location”权限的用户获取该信息。无法从任何用户获取该信息。仅仅因为你可以看到Facebook上的数据并且它是公开的并不意味着你可以通过App访问它,出于隐私原因,这只能通过授权用户来实现。

不允许在没有应用程序的情况下进行刮痧,请查看抓取条款:https://www.facebook.com/apps/site_scraping_tos_terms.php

答案 1 :(得分:-1)

我试过这个 - > "名字姓氏位置"它完美无缺。 例如 - > " Sameeksha kumari australia"

查询如下所示 https://graph.facebook.com/v2.5/search?fields=id,name,picture.type(normal),location&limit=500&q=sameeksha kumari melbourne& type = user& access_token = token