从Meetup API

时间:2016-02-01 00:53:09

标签: javascript meetup

使用Meetup API,我能够成功地从任何给定的组中获得200个成员。有很多团体拥有比这更多的成员。我想知道如何把它们全部搞定。

问题
我无法找到记录&page=###的位置。我假设它设置了Meetup响应中返回的结果数量。

我曾尝试使用&page=1000,但我仍然只能让200名成员回来。

请求网址
我正在使用此URL来请求数据:

let meetupReqUrl = "https://api.meetup.com/2/members?&sign=true&group_id=" 
                  + groupId 
                  + "&key=" 
                  + apiKeys.meetup
                  + "&order=joined"
                  + "&page=1000"

此变体也准确地返回200个成员:

let meetupReqUrl = "https://api.meetup.com/2/members?&sign=true&group_id=" 
                  + groupId 
                  + "&order=joined"
                  + "&page=1000" 
                  + "&key=" 
                  + apiKeys.meetup

值得注意的是&order=joined根本没有对结果进行排序。这让我相信我在形成URL时做错了。

相关文档
Meetup的/2/members API为documented here

3 个答案:

答案 0 :(得分:2)

您通过API 一次的最大结果数似乎是200 - 请参阅https://github.com/jkutianski/meetup-api/wiki#limits

然而,您可以根据http://www.meetup.com/meetup_api/#making_request发出多个请求。它说你需要使用页面和偏移参数。来自meetup.com链接:

页面 - 用于结果的页面大小(每个响应中的最大结果数)

offset - 要返回的结果的起始页。例如,当page = 10时,指定" offset = 0"将带回记录1-10," offset = 1"将带来11-20等记录

答案 1 :(得分:0)

(我再次回答是因为我没有足够的声誉来编辑我以前的答案,因为它已经变成评论了。)

offsetpage的工作方式不是那么直观。他们实际上是相互依存和相乘的。例如,如果page设置为20,而offset为2,则将跳过40个条目。我使用API console来解决这个问题,因为找不到任何指定其关系的文档。

这也解释了为什么偏移不能单独起作用。

答案 2 :(得分:0)

请注意,如果将订单设置为时间,则偏移量将不起作用。 order=time。 另外,如果您按时间排序响应,则会减少返回结果的数量(大约80%),因此,如果您设置page=20,则会收到大约16个结果。