2011-12-15 66 views
6

当包含categoryId参数时,我收到了来自API查询的意外结果。如何在Foursquare中使用categoryId场馆搜索API

例如,使用下面的参数来搜索“公民公府”位于马萨诸塞州波士顿

ll: 42.3489027315987, -71.096134185791 
query: citizen 
categoryId: 4bf58dd8d48988d116941735 <== 'bars' 

结果拉闸包括来自其他类别的场馆,像“银行”的时候。 categoryId参数有问题吗?在API文档中,它被标记为“实验”。我使用不当吗?

仅供参考:我使用quimby gem通过rails应用程序与foursquare API进行交互。

谢谢!

回答

6

如果你正在寻找的地方是

公民公府&牡蛎酒吧

然后你使用了错误的categoryId :(
类别有层次,而且搜索

具体而言,4bf58dd8d48988d116941735是酒吧类
这个地方是一个W类别ID:4bf58dd8d48988d122941735

为什么银行返回,不知道:)我几乎可以肯定,当使用查询进行搜索时,foursquare引擎会强制结果与查询匹配,无论其他过滤器如何。

您应该download all categories并查看类别树以更好地了解使用哪个ID。
请注意,您可以查找包含所有酒吧的夜生活类别4d4b7105d754a06376d81259 ,因为您正在查询查询,您应该可以找到要查找的内容(您也可以尝试使用intent=match进行实验,或者浏览并将半径作为好)。

+0

类别限制和查询应该同时工作。我们将调查该行为是否存在错误。 – akdotcom 2011-12-15 21:30:43

+1

对不起,我选择了错误的categoryId作为我的例子。我还用夜生活类别Id以及树上的那个查询,我相信这是食物。在任何情况下,我的查询都会返回银行和其他虚假结果。 – istan 2011-12-16 19:27:22

0

似乎所有在foursquare的categoryID都是一样的。我刚刚去过一个机场,让它给我它的categoryID,然后为酒吧做同样的事情。他们都有相同的categoryID。

我找到了一个不同的categoryID(4eb1bc533b7b2c5b1d4306cb机场休息室),当它用作过滤器时,它只返回带有这个ID的结果。

3

超级迟到,但我发现如果您将categoryId参数直接放在...search?之后,并且在您的身份验证和版本参数之前,它就会起作用。

例如。 search?categoryId=123&client_id=456&client_secret=789&v=20140828

相关问题