StackExchange API返回的网站数量少于实际数量

时间:2014-07-08 14:32:58

标签: stackexchange stackexchange-api

我正在开发一个在Stack Exchange的每个站点上生成用户时间线的应用程序。我们在SharePoint.SE上有一些用户。

由于我想要所有网站的列表,我试图使用API​​ 2.2来获取它

GET /2.2/sites/

如此处所示。但它只获得部分网站。响应缺少Beer.SE,SharePoint.SE等网站。

我如何检索它们?

1 个答案:

答案 0 :(得分:2)

您需要传递其他参数。 Beer.SE 3上显示的page pagesize为100:

https://api.stackexchange.com/docs/sites#page=3&pagesize=100&filter=default&run=true

如果没有参数,则默认pagesize为30 results。通过查看common wrapper中的has_more参数,您可以判断项目中的项目是否多于通话中返回的项目。

在这个例子中,如果页面大小为3,则总共有3页,而Beer.SE恰好位于最后一页。


重新阅读sites文档后,它说

  

此方法的pagesize参数无限制,以确认对于从/ sites重复提取的许多应用程序会不必要地使启动任务复杂化。

这意味着您可以将页面大小设置为1000,并且Beer.SE将出现在该结果中。此时,没有1,000个Stack Exchange站点,因此可以使用。