Skip to main content

Solução de problemas

Aprenda a resolver os problemas mais comuns que as pessoas enfrentam na API REST.

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 Link, que é enviado com cada solicitação.

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 my_user:my_password https://api.github.com/user/repos

Nesse caso, use um personal access token ao testar pontos de extremidade ou trabalhar em desenvolvimento local:

curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos

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 my-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.