1

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

由于我想要所有站点的列表,因此我正在尝试使用 API 2.2 获取它

GET /2.2/sites/

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

我该如何找回它们?

4

1 回答 1

2

您需要传递其他参数。Beer.SE以 100出现在page3 上pagesize

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

不带参数时,默认pagesize为 30 results您可以通过检查common wrapperhas_more中的参数来判断是否有比调用中返回的更多的项目。

在这种情况下,页面大小为 3,总共有 3 个页面,而 Beer.SE 恰好位于最后一页。


重新阅读网站文档后,它说

此方法的 pagesize 参数是无限制的,这是为了承认对于许多应用程序而言,重复从 /sites 获取会使启动任务不必要地复杂化。

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

于 2014-10-01T19:34:25.217 回答