2

使用 Meetup API,我能够成功地从任何给定组中获得 200 名成员。有很多组的成员比这更多。我想知道如何获得所有这些。


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

例如,我尝试过使用 ,&page=1000但我仍然只能获得 200 个成员。

请求 URL
我使用这个 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/membersAPI在此处记录

4

3 回答 3

2

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

但是,您可以根据http://www.meetup.com/meetup_api/#making_request提出多个请求。它说您需要使用页面和偏移参数。从 meetup.com 链接:

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

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

于 2016-04-09T06:25:54.940 回答
0

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

方式offsetpage工作不是那么直观。它们实际上是相互依赖和相乘的。例如,如果page设置为 20 且offset为 2,您将向下跳过 40 个条目。我使用API 控制台解决了这个问题,因为我找不到任何说明它们关系的文档。

这也解释了为什么 offset 不能单独工作。

于 2019-02-11T23:30:21.613 回答
0

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

于 2019-08-17T18:28:24.933 回答