Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

331
Vistas
Obteniendo el error 401 no autorizado al solicitar la API de GitHub

Buenas noches. Mi tarea es crear un sitio web con reacción que listará a través de los usuarios de github. Estaba siguiendo esta instrucción: https://docs.github.com/en/rest/users/users#get-a-user (para JS). Mis credenciales:

 async function searchUsers() { try { const octokit = new Octokit({ auth: 'ghp_MY_PERSONAL_TOKEN', acceptstring: 'application/vnd.github.v3+json' }) const response = await octokit.request(`GET /users/${name}`, { username: 'maria98kgm' }); setUsers(response.data); setLoading(false); searchRepos(); } catch(e) { setLoading(false); setUsers('notFound'); console.error('no such a user'); } }

Cada vez que lo uso demasiado tiempo o envío cambios a github, deja de funcionar y me da un error 401 Unauthorized : ingrese la descripción de la imagen aquí

No puedo resolverlo desde hace dos días, por favor ayuda.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Explicación del error.

El código de estado 404 significa que sus datos de autenticación no son los buenos.

Cómo resolverlo.

  • Primero, verifique que su token personal de GitHub esté bien (supongo que lo está)
  • En segundo lugar, haga lo siguiente: https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps
about 4 years ago · Juan Pablo Isaza Denunciar

0

No necesita ninguna autenticación para ese punto final. Aquí hay un ejemplo de trabajo:

  • Octokit.js documentos
  • Documentos de API REST de GitHub para obtener un usuario

 body { font-family: sans-serif; } button, input[type="text"] { font-size: 1rem; padding: 0.2rem; } pre { font-family: monospace; font-size: 1rem; } .vertical { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; }
 <!-- Babel seemed to have trouble with this, so I'm putting it on window --> <script type="module"> import {Octokit} from 'https://cdn.skypack.dev/octokit@1.7.1'; window.Octokit = Octokit; </script> <div id="root"></div><script src="https://unpkg.com/react@18.1.0/umd/react.development.js"></script><script src="https://unpkg.com/react-dom@18.1.0/umd/react-dom.development.js"></script><script src="https://unpkg.com/@babel/standalone@7.18.1/babel.min.js"></script> <script type="text/babel" data-type="module" data-presets="env,react"> // import * as ReactDOM from 'react-dom/client'; // import {useState} from 'react'; // import {Octokit} from 'octokit'; // This Stack Overflow snippet demo uses UMD modules instead of the commented import statments above const {useState} = React; const octokit = new Octokit(); function App () { const [user, setUser] = useState('maria98kgm'); const [userData, setUserData] = useState(undefined); const [error, setError] = useState(undefined); const updateUserData = async () => { try { const username = user.trim(); const response = await octokit.request(`GET /users/${username}`); setUserData(response.data); setError(undefined); } catch (ex) { if (ex instanceof Error) setError(ex); else console.error(ex); } }; const displayString = error ? error.toString() : userData ? JSON.stringify(userData, null, 2) : 'No data yet'; return ( <div> <div className="vertical"> <input type="text" onChange={ev => setUser(ev.target.value)} value={user} /> <button onClick={updateUserData}>Update user data</button> </div> <pre><code>{displayString}</code></pre> </div> ); } const reactRoot = ReactDOM.createRoot(document.getElementById('root')); reactRoot.render(<App />); </script>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda