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

Em vez disso, use um token de acesso pessoal ao testar pontos de extremidade ou fazer o 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 Enterprise Cloud demorar mais de 10 segundos para processar uma solicitação de API, GitHub Enterprise Cloud encerrará a solicitação e você receberá uma resposta de tempo esgotado.