如何使用foursquare api获取所有场地数据

时间:2017-01-10 14:37:28

标签: node.js foursquare

我已经在foursquare中创建了app并获取了client_id和client_secret密钥。我需要一个城市的所有餐厅的详细信息。但我只有50个餐厅的详细信息。请帮我 。提前谢谢

'https://api.foursquare.com/v2/venues/explore?near=San Francisco,San Francisco&section=food&novelty=50&client_id=client_id&client_secret=client_secret&v=20170109';

2 个答案:

答案 0 :(得分:2)

Matt是正确的,您可以使用offset参数,但他的链接文档和示例网址有点偏离。

看起来您正在使用场地/探索端点,您可以在此处找到相关文档:https://developer.foursquare.com/docs/venues/explore

要翻阅结果,您可以设置如下内容:

https://api.foursquare.com/v2/venues/explore?client_secret=****&client_id=****&v=20161101&limit=50&near=San Francisco, CA&section=food

在您的回复(json)中,您应该检查json['response']['totalResults']值以查看总共有多少结果。

for (var i = 0; i < totalResults/50; i++) {
    url = 'https://api.foursquare.com/v2/venues/explore?client_secret=****&client_id=****&v=20161101&limit=50&near=San Francisco, CA&section=food&offset='(i + 1)*50';
}

看起来您使用的某些参数无效。

  1. near参数应为San Francisco, CA而不是San Francisco, San Francisco
  2. 该API没有novelty参数,您的意思是使用limit吗?

答案 1 :(得分:0)

您应该使用offset参数来浏览场地:

以下是API文档: https://developer.foursquare.com/docs/venues/listed

规定的限制为200,因此以下示例将返回201-400的结果列表: https://api.foursquare.com/v2/venues/?limt=200&offset=201

for (var i = 0; i < numberOfPages; i++) {
    url = 'https://api.foursquare.com/v2/venues/?limt=200&offset=' + i * 200;
}