Si detecta elementos extraños en la API, a continuación se muestra una lista de posibles soluciones a algunos de estos problemas que podrías experimentar.
Error 400
de una versión de API no admitida
Debes usar el encabezado X-GitHub-Api-Version
para especificar una versión de API. Por ejemplo:
$ curl --encabezado "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen
Si especificas una versión que no existe, recibirás un error 400
.
Para obtener más información, vea «Versiones de API».
Error 404
para un repositorio existente
Habitualmente, enviamos un error 404
cuando el cliente no está correctamente autenticado.
En estos caso, debería ver 403 Forbidden
. Pero como no queremos proporcionar ningún tipo de información sobre los repositorios privados, en su lugar la API devuelve un error 404
.
Para solucionarlo, asegúrese de que está autenticando correctamente, el token de acceso de OAuth tiene los ámbitos necesarios, las restricciones de aplicaciones de terceros no bloquean el acceso y que el token no haya expirado ni se haya revocado.
No se devolvieron todos los resultados
La mayoría de las llamadas API que acceden a una lista de recursos (por ejemplo, usuarios, incidencias, etc. ) admiten la paginación. Si realiza solicitudes y recibe un conjunto de resultados incompleto, es probable que solo esté viendo la primera página. Tendrá que solicitar las páginas restantes para obtener más resultados.
Es importante que no intente adivinar el formato de la URL de paginación. No todas las llamadas API usan la misma estructura. En su lugar, puedes extraer la información de paginación del encabezado de vínculo, que se devuelve en todas las solicitudes. Para más información sobre la paginación, consulta "Uso de la paginación en la API de REST".
Errores de autenticación básicos
Desde el 13 de noviembre de 2020, la autenticación con nombre de usuario y contraseña a la API de REST y a la API de Autorizaciones de OAuth se obsoletizaron y ya no funcionan.
Uso de username
/password
para la autenticación básica
Si usa username
y password
para las llamadas API, ya no podrán autenticarse. Por ejemplo:
curl -u YOUR-USERNAME:YOUR-PASSWORD https://api.github.com/user/repos
En su lugar, usapersonal access token o un token de acceso para GitHub App al probar los puntos de conexión o realizar el desarrollo local:
curl -H 'Authorization: Bearer YOUR-TOKEN' https://api.github.com/user/repos
Para obtener más información, vea «Managing your personal access tokens» y «About authentication with a GitHub App».
Para las aplicaciones de OAuth, debe usar el flujo de aplicación web para generar un token de OAuth que se usará en el encabezado de la llamada API:
curl -H 'Authorization: Bearer YOUR-OAUTH-TOKEN' https://api.github.com/user/repos
Tiempos de espera
Si a GitHub le toma más de 10 segundos procesar una solicitud de la API, GitHub terminará la solicitud y recibirás una respuesta de tiempo de espera excedido.