Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
Error al obtener datos con encabezados (sin retorno)

Estoy tratando de usar una API ( https://tracker.gg/developers/docs/titles/csgo ) y no funciona correctamente. Cuando trato de hacer una solicitud, solicita encabezados dentro de la búsqueda (nunca usé encabezados, solo búsqueda regular y una URL). Haciendo una pequeña búsqueda se me ocurrió:

 async function fetchData() { const response = await fetch('https://public-api.tracker.gg/v2/csgo/standard/profile/steam/76561198008049283', { method: 'GET', headers: { 'TRN-Api-Key': 'XXXX-XXXXX-XXX-XXXXXX-XXX', //here goes the key that I got for this app. 'Accept': 'application/json', 'Accept-Encoding': 'gzip', }, mode: 'no-cors', }) const second = await response.json(); console.log(second); }

Y cuando llamo a esta función, recibo dos errores dentro de la consola:

  1. OBTENGA https://public-api.tracker.gg/v2/csgo/standard/profile/steam/76561198008049283 net::ERR_ABORTED 401
  2. No capturado (en promesa) SyntaxError: final inesperado de entrada

Mi conocimiento es demasiado básico en este momento y me gustaría obtener algunas ideas de lo que me estoy perdiendo y lo que podría hacer para aprender un poco más sobre la obtención de datos y cómo hacer validaciones cuando sea necesario (como una clave de autenticación)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Muy bien, después de jugar con la solicitud, me di cuenta de algo que debería haber sido obvio...
La solicitud que está tratando de hacer NO debería ocurrir en el navegador a menos que esté en el sitio de tracker.gg. En pocas palabras, debe realizar esta solicitud desde su aplicación ( servidor ). Servidor a servidor no tendrá efecto en cors.

Ahora entremos en los detalles sucios de ¿por qué? En primer lugar, su solicitud no incluirá el encabezado 'TRN-Api-Key' porque no está en la lista segura de CORS (como nos dice esta brillante respuesta). Básicamente, cuando realiza la solicitud de recuperación, elimina los encabezados que no están en la lista segura y, por lo tanto, 'TRN-Api-Key' se elimina de su solicitud de encabezado y no va a la API. Por lo tanto, está viendo que "no se envía ninguna clave de API" porque no se envía. Si elimina el modo: 'no-cors', se enviará la clave pero falla CORS. Si no tiene cors en uso, la solicitud debe realizarse en tracker.gg para tener el sitio de cors correcto.
Por lo tanto, los desarrolladores de este proyecto pensaron (y por una buena razón) que solo realizaría esta solicitud en un servidor (simplemente no es una forma segura de manejar la clave api al tenerla en el front-end). Si, en cambio, crea una API para que funcione con su API, su aplicación puede usar su propio servidor personalizado sin conocer la clave API (usando alguna forma de autenticación, por supuesto).
En pocas palabras, es responsabilidad de su servidor de juegos cuidar esta clave API y usarla de manera responsable para los usuarios de su aplicación. Lea los documentos de la API a la que está intentando acceder (también lea esa respuesta ya que es interesante).

Respuesta final: la clave API debe usarse para la comunicación de servidor a servidor como se pretendía (no en el navegador).

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda