Se você estiver encontrando situações estranhas na API, veja uma lista de resoluções de alguns dos problemas que pode estar enfrentando.
Erro 400
para uma versão da API sem suporte
Você deve usar o cabeçalho X-GitHub-Api-Version
para especificar uma versão da API. Por exemplo:
$ curl --header "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen
Se você especificar uma versão que não existe, receberá um erro 400
.
Para obter mais informações, confira "Versões da API".
Erro 404
em um repositório existente
Normalmente, enviamos um erro 404
quando o cliente não está autenticado corretamente.
Você poderá esperar ver um erro 403 Forbidden
nesses casos. No entanto, como não queremos fornecer nenhuma informação sobre os repositórios privados, a API retorna um erro 404
.
Para a solução de problemas, verifique se você está se autenticando corretamente, se o token de acesso OAuth tem os escopos necessários, se as restrições de aplicativo de terceiros não estão bloqueando o acesso e se o token não expirou ou foi revogado.
Nem todos os resultados retornados
A maioria das chamadas à API que acessa uma lista de recursos (por exemplo, usuários, problemas etc. ) dá suporte à paginação. Se você está fazendo solicitações e recebendo um conjunto incompleto de resultados, provavelmente, só está vendo a primeira página. Você precisará solicitar as páginas restantes para obter mais resultados.
É importante não tentar adivinhar o formato da URL de paginação. Nem todas as chamadas à API usam a mesma estrutura. Em vez disso, extraia as informações de paginação do cabeçalho do link, que é retornado com cada solicitação. Para obter mais informações sobre paginação, confira "Como usar paginação na API REST".
Erros de autenticação básica
Em 13 de novembro de 2020 a autenticação de nome de usuário e senha da API REST e da API de Autorizações OAuth tornaram-se obsoletas e já não funcionaram mais.
Como usar username
/password
para a autenticação básica
Se você estiver usando username
e password
para as chamadas à API, elas não poderão mais ser autenticadas. Por exemplo:
curl -u YOUR-USERNAME:YOUR-PASSWORD https://api.github.com/user/repos
Em vez disso, use um personal access token ou um token de acesso para um GitHub App ao testar pontos de extremidade ou trabalhar no desenvolvimento local:
curl -H 'Authorization: Bearer YOUR-TOKEN' https://api.github.com/user/repos
Para obter mais informações, confira "Managing your personal access tokens" e "Sobre a autenticação com um GitHub App."
Para os Aplicativos OAuth, você deve usar o fluxo do aplicativo Web para gerar um token OAuth a ser usado no cabeçalho da chamada à API:
curl -H 'Authorization: Bearer YOUR-OAUTH-TOKEN' https://api.github.com/user/repos
Tempos limite
Se GitHub demorar mais de 10 segundos para processar uma solicitação de API, GitHub encerrará a solicitação e você receberá uma resposta de tempo esgotado.