StackExchange API возвращает меньше сайтов, чем фактическое число
Я работаю над одним приложением, которое создает временную шкалу пользователя на каждом сайте Stack Exchange. У нас есть несколько пользователей на SharePoint.SE.
Поскольку мне нужен список всех сайтов, я пытаюсь получить его с помощью API 2.2
GET /2.2/sites/
Как показано здесь. Но он получает только частичные сайты. В ответе отсутствуют такие сайты, как Beer.SE, SharePoint.SE.
Как я могу получить их тоже?
Ответы - StackExchange API возвращает меньше сайтов, чем фактическое число / StackExchange API returning less sites than actual number

01.10.2014 11:34:25
Вам нужно передать дополнительные параметры. Beer.SE
отображается на page
3 с pagesize
100:
https://api.stackexchange.com/docs/sites#page=3&pagesize=100&filter=default&run=true
Без параметров pagesize
равен 30 результатам . Вы можете определить, есть ли больше элементов, чем то, что возвращается в вашем вызове, проверив параметр has_more в общей оболочке .
В этом случае, с размером страницы 3, есть 3 полных страницы и Beer.SE оказывается, на последней странице.
После перечитывания документации сайтов, он говорит
Параметр pagesize для этого метода неограничен, признавая, что для многих приложений многократная выборка из /сайтов без необходимости усложняет задачи запуска.
Это означает, что вы можете установить размер страницы на что-то вроде 1000, и Beer.SE появится в этих результатах. На данный момент не существует 1000 сайтов Stack Exchange, так что это будет работать.