Skip to main content

Solución de problemas

Aprende cómo resolver los problemas más comunes que las personas pueden encontrar en la API de REST.

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 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, puede extraer la información de paginación del encabezado de vínculo, que se envía en todas las solicitudes.

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

En su lugar, use un token de acceso personal al probar los puntos de conexión o realizar el desarrollo local:

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

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