Получить результаты API github более 100

#api #github #search #github-api #rate-limiting

#API #github #Поиск #github-api #ограничение скорости

Вопрос:

Я хочу разработать систему отслеживания проблем, похожую на github.
Для этого я работал над этим нижеприведенным API.
https://api.github.com/repos/facebook/react/issues?per_page=100
Но этот api выдает только 100 результатов на запрос в соответствии с документами.
Есть ли способ, которым я могу получить все результаты проблем, а не только 100, я могу сделать несколько запросов, но я не думаю, что это осуществимый способ сделать это.
Сам объект проблемы содержит автора, метку, правопреемника, поэтому необходимы все результаты сразу.
Есть ли какой-нибудь способ сделать это?

Ответ №1:

Нет, невозможно получить все результаты без разбивки на страницы. GitHub, как и почти все крупные веб-сайты, имеет ограничение по времени, которое может занять запрос. Если у вас есть репозиторий, скажем, с 150 000 проблем, то любая разумная операция по всем этим проблемам займет больше времени, чем время ожидания. Поэтому для GitHub не имеет смысла разрешать вам отключать разбивку на страницы таким образом, потому что запрос в любом случае неизменно завершится неудачей.

Даже если вы используете GraphQL API, вы все равно получите ограниченное количество результатов. Если вы хотите получить все проблемы, вам нужно будет сделать несколько запросов.

Комментарии:

1. Спасибо за ваш ответ, хорошо, я понимаю, что могу использовать разбивку на страницы. api.github.com/repos/facebook/react / … , таким образом, с этим я смогу показывать 10 выпусков на странице, но как насчет данных фильтра, таких как автор, правопреемник, метка, там мне будут требоваться все данные сразу, чтобы отфильтровать все данные,поскольку все эти данные фильтров я получаю от самого объекта issue, я не смогу получить все данные сразу и только максимум 100, поэтому я не думаю, что это поможет просто показать данные фильтра в соответствии с 10 результатами, вот где я застрял, можете ли вы помочь, какмогу ли я продолжить с этим.

2. Я чувствую, что нет другого API, где я мог бы получить данные автора, правопреемника и метки для каких-либо конкретных проблем с репозиторием, кроме получения их из самого объекта issues (максимум 100 повторных запросов), поэтому я не знаю, как с этим поступить