Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook Graph API按类别搜索位置_Android_Facebook_Facebook Graph Api - Fatal编程技术网

Android Facebook Graph API按类别搜索位置

Android Facebook Graph API按类别搜索位置,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我目前正在开发一个Android应用程序,它使用Facebook graph API根据用户的位置获取页面/位置。我还想按类别过滤结果,比如餐馆。 现在,我只是在寻找像这样的餐厅名称: 问题是,它找不到没有餐厅名称的页面/位置,也会返回与餐厅无关的位置。我也有语言问题,在非英语国家我的搜索将完全失败 我正在考虑的一个可能的解决方案是获取一个范围内的所有位置,并在我的应用程序中解析它们以获得类别或名称。显然,这会给我的应用程序带来很多开销 我想知道是否有更好的解决方案,比如使用FQL获得过滤结果

我目前正在开发一个Android应用程序,它使用Facebook graph API根据用户的位置获取页面/位置。我还想按类别过滤结果,比如餐馆。 现在,我只是在寻找像这样的餐厅名称:

问题是,它找不到没有餐厅名称的页面/位置,也会返回与餐厅无关的位置。我也有语言问题,在非英语国家我的搜索将完全失败

我正在考虑的一个可能的解决方案是获取一个范围内的所有位置,并在我的应用程序中解析它们以获得类别或名称。显然,这会给我的应用程序带来很多开销


我想知道是否有更好的解决方案,比如使用FQL获得过滤结果?

应该有,但我无法解释如何解决

此FQL查询将获取有关已知位置附近所有位置的信息:

SELECT name, page_id, categories, description, general_info 
   FROM page WHERE page_id IN 
     (SELECT page_id FROM place WHERE 
        distance(latitude, longitude, "37.76", "-122.427") < 1000
      )
“类别”字段是一个具有值id和名称的数组。从这些结果来看,有一系列类别名称,如餐厅:意大利餐厅、酒吧/餐厅等


我找不到一种方法,可以在其中添加WHERE categories子句,返回数据。

谢谢,我可以尝试一下,但我认为使用基本图形API请求可以得到相同的结果。我相信你不能使用WHERE类别的原因是,正如你所看到的,它不是一个可索引的列。这不是真的。FQL中的第一个WHERE子句必须是可索引的。之后,可以在不可索引列上添加WHERE条件以限制结果。FQL与Graph API查询的最大区别在于添加了categories字段,它允许您确定Hog&Rocks是一家餐厅。这一点很好。但是使用GraphAPI,我还可以获得页面列表并检查每个页面的类别字段。因此,不可能像在常规SQL中那样在第二个子句中添加一个-WHERE-category='restaurant'。这两个调用返回的结果是不同的。请查看ID 21653874551894。Graph API显示它是一家本地企业,而FQL显示它是一家冰淇淋店和一家餐厅。在FQL中,类别是一个数组。我已经尝试了在WHERE查询中可以想到的category、category.name、category.id、=、IN和strpos的每一个变体,但都无法获得这些变量来返回数据。我已经翻遍了文件,所以我看不到任何指导。