Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Dépannage

Découvrez comment résoudre les problèmes les plus courants rencontrés dans l’API REST.

Si vous rencontrez des anomalies dans l’API, voici une liste de solutions à certains des problèmes que vous pouvez rencontrer.

Erreur 400 pour une version d’API non prise en charge

Vous devez utiliser l’en-tête X-GitHub-Api-Version pour spécifier une version d’API. Par exemple :

$ curl --header "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen

Si vous spécifiez une version qui n’existe pas, vous recevez une erreur 400.

Pour plus d’informations, consultez « Versions des API ».

Erreur 404 concernant un dépôt existant

En règle générale, nous envoyons une erreur 404 lorsque votre client n’est pas authentifié correctement. Vous vous attendriez plutôt à voir une erreur 403 Forbidden dans ces cas-là. Toutefois, étant donné que nous ne voulons fournir aucune information sur les dépôts privés, l’API retournera une erreur 404 à la place.

Pour résoudre ce problème, vérifiez que vous vous authentifiez correctement, que votre jeton d’accès OAuth comprend les étendues nécessaires, que les restrictions relatives aux applications tierces ne bloquent pas l’accès et que le jeton n’a pas expiré ni été révoqué.

Tous les résultats ne sont pas retournés

La plupart des appels d’API qui accèdent à une liste de ressources (par exemple, les utilisateurs, les problèmes, etc. ) prennent en charge la pagination. Si vous effectuez des demandes et que vous recevez un ensemble incomplet de résultats, il est probable que vous ne voyiez que la première page. Vous devrez demander les pages restantes afin d’obtenir plus de résultats.

Il est important de ne pas essayer de deviner le format de l’URL de pagination. Tous les appels d’API n’utilisent pas la même structure. Au lieu de cela, extrayez les informations de pagination de l’en-tête de lien, qui sont retournées avec chaque demande. Pour plus d’informations sur la pagination, consultez « Utilisation de la pagination dans l’API REST ».

Erreurs d’authentification de base

Le 13 novembre 2020, l’authentification par nom d’utilisateur et mot de passe a été dépréciée pour l’API REST et l’API OAuth Authorizations, et ne fonctionne plus.

Utilisation de username/password pour l’authentification de base

Si vous utilisez username et password pour les appels d’API, ceux-ci ne pourront plus s’authentifier. Par exemple :

curl -u my_user:my_password https://api.github.com/user/repos

Utilisez plutôt un personal access token lorsque vous testez des points de terminaison ou développez en local :

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

Pour les applications OAuth, vous devez utiliser le flux d’application web afin de générer un jeton OAuth à utiliser dans l’en-tête de l’appel d’API :

curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos

Délais d'attente

Si GitHub Enterprise Cloud prend plus de 10 secondes pour traiter une demande d’API, GitHub Enterprise Cloud mettra fin à la demande et vous recevrez une réponse de délai expiré.