四方api无法正常工作

时间:2016-08-22 13:45:52

标签: foursquare

我使用四方API在用户输入单词时显示自动建议。我用:

$http.get('https://api.foursquare.com/v2/venues/search?&near='+input+'&query=' +input+'&intent=gloabal&limit=5&oauth_token=D5STL1YLFPPGLOF121W....&v=2016...')

但我没有得到确切的结果。有时它不会显示任何空对象,也会显示不同语言,如泰米尔语,乌尔都语等......

然后我尝试了一个例子 - 泰姬陵。如果我输入taj,taj ma,taj maha就好了......它没有显示任何内容......只有当我在搜索框中输入taj mahal时才会建议taj mahal。

任何人都可以提供一些见解吗?

1 个答案:

答案 0 :(得分:1)

试着为你调试一下。以下是一些可能存在问题的明显事项:

a)您的意图似乎指定了gloabal vs global,这可能会通过https://developer.foursquare.com/docs/venues/search默认为意图checkin

b)您的搜索可能存在问题,例如:寻找泰姬陵附近的泰姬陵。

要深入了解详细信息,可能有助于深入了解发送到Foursquare的一些原始HTTP请求。

这是一个用于在泰姬陵附近寻找“食物”的CURL命令示例。

curl -v 'https://api.foursquare.com/v2/venues/search?&near=taj%20mahal&query=food&intent=global&limit=5&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&v=20160828'

要诊断问题,尝试并模拟两个输入可能是有意义的,例如:靠近并使用上面的curl查询params来诊断响应是否是您正在寻找的。

此外,值得注意的是near必须是代表世界上某个地方的字符串。如果near字符串不是geocodable,您应该会看到failed_geocode错误。如果您使用参数near=taj%20ma,则特定于您的问题,您可能会按预期获得failed_geocode。有关详情,请访问https://developer.foursquare.com/docs/venues/search

有关语言的细节,我的理解是您可以在请求中的Accept-Language HTTP标头中设置区域设置(首选),或者指定参数locale。如果没有指明任何内容,我的假设是可能会使用该国家最受欢迎的语言。有关详情,请访问https://developer.foursquare.com/overview/versioning