Если у вас в API возникли некоторые трудности, далее приведен список решений некоторых проблем, которые могут возникнуть.
400
ошибка для неподдерживаемой версии API
Для указания версии API следует использовать X-GitHub-Api-Version
заголовок . Пример:
$ curl --header "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen
Если указать версию, которая не существует, появится сообщение об ошибке 400
.
Дополнительные сведения см. в разделе Версии API.
Ошибка 404
существующего репозитория
Как правило, при неправильной проверке подлинности клиента отправляется сообщение об ошибке 404
.
В таких случаях может потребоваться просмотреть 403 Forbidden
. Но так как мы не хотим предоставлять никаких сведений о частных репозиториях, API возвращает ошибку 404
.
Чтобы устранить неполадки, убедитесь, что проверка подлинности выполнена правильно, маркер доступа OAuth имеет необходимые области, ограничения сторонних приложений не блокируют доступ и что маркер не был отозван и его срок действия не истек.
Возвращены не все результаты
Большинство вызовов API, обращающегося к списку ресурсов (например, пользователей, проблем и т. д. ), поддерживают разбиение на страницы. Если вы создаете запросы и получаете неполный набор результатов, вероятно, вы просматриваете только первую страницу. Чтобы получить больше результатов, вам потребуется отправить запрос на оставшиеся страницы.
Не пытайтесь угадать формат URL-адреса разбиения на страницы. Не для каждого вызова API используется одна и та же структура. Вместо этого извлеките сведения о разбиении на страницы из заголовка ссылки, который возвращается при каждом запросе. Дополнительные сведения о разбиении на страницы см. в разделе Использование разбиения на страницы в REST API.
Ошибки обычной проверки подлинности
С 13 ноября 2020 г. не рекомендуется использовать проверку подлинности с помощью имени пользователя и пароля для REST API и API авторизации OAuth; они больше не будут работать.
Использование username
/password
для обычной проверки подлинности
Если вы используете username
и password
для вызовов API, они больше не смогут пройти проверку подлинности. Пример:
curl -u my_user:my_password https://api.github.com/user/repos
Вместо этого используйте personal access token при тестировании конечных точек или локальной разработке:
curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos
Для приложений OAuth следует использовать процесс веб-приложения, чтобы создать маркер OAuth для применения в заголовке вызова API:
curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos
Истекшее время ожидания
Если GitHub обрабатывает запрос API более 10 секунд, GitHub завершит запрос и вы получите ответ о времени ожидания.