StackExchange API возвращает меньше сайтов, чем фактическое число

StackExchange API возвращает меньше сайтов, чем фактическое число

08.07.2014 06:32:58 Просмотров 35 Источник

Я работаю над одним приложением, которое создает временную шкалу пользователя на каждом сайте 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

Является ответом!
Andy

01.10.2014 11:34:25

Вам нужно передать дополнительные параметры. Beer.SEотображается на page3 с pagesize100:

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, так что это будет работать.

Закрыть X