我有一个项目,我必须在Facebook上搜索所有人 某个位置,然后对数据应用进一步的过滤器。我的问题和疑问是:
如何使用Graph API获取初始数据?
我知道可以使用Facebook本身的搜索字段。只需输入"所有人都住在???"返回人员列表。 我无法在Facebook的Graph-API中找到这样的功能。这是我试过的:
我修改了标准搜索请求的一些参数
search?type=user¢er=52.946758,-1.172882&distance=1000
search?type=user¢er=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?
答案 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