He estado obteniendo algunos datos de una API privada con axios , pero ahora tengo problemas para obtener datos de un punto final específico.
Lo interesante es que con la API de fetch incorporada, recibo una respuesta 200, pero la solicitud idéntica con axios sigue devolviendo el error 401. ¿Alguna idea de cuál puede ser el problema?
Este código funciona:
const upVoteCommentTwo = async () => { console.log(localStorage.getItem("access_token")); try { const response = await fetch( `https://exammple.com/comments/${commentId}/vote/up`, { method: "POST", headers: { "X-API-KEY": "XXX", "Authorization": localStorage.getItem("access_token"), }, } ); console.log(await response.status); } catch (err) { console.log(err); } };Y esto no funciona:
const upVoteCommentOne = async () => { console.log(localStorage.getItem("access_token")); try { const response = await axios.post( `https://example.com/comments/${commentId}/vote/up/`, { headers: { "Content-Type": "application/json", "X-API-KEY": "XXX", "Authorization": localStorage.getItem("access_token"), }, } ); console.log(response.status); } catch (err) { console.log(err); } };El problema proviene de los parámetros de axios . Una forma válida según el documento y que parece estar funcionando para la mayoría de las personas según este problema en GitHub es llamarlo así:
const response = await axios({ method: "post", url: `https://example.com/comments/${commentId}/vote/up/`, headers: { "Content-Type": "application/json", "X-API-KEY": "XXX", "Authorization": localStorage.getItem("access_token"), }, data: {}, });const upVoteCommentOne = async () => { console.log(localStorage.getItem("access_token")); try { const response = await axios.post( `https://example.com/comments/${commentId}/vote/up/`, { //body:...if any } headers: { "X-API-KEY": "XXX", "Authorization": localStorage.getItem("access_token"), }, } ); console.log(response.status); } catch (err) { console.log(err); } };