Ir ao conteúdo

Outro API da steam retornando objeto


Ir à solução Resolvido por X-X-Xeno,

Posts recomendados

Postado

Bom, pra começar, não sei se é o fórum certo para postar javascript e tal mas, vamos lá.

Nesse ano decidi começar a programar, logo peguei a semana omnistack e fui de embalo, basicamente copiando o app que o Diego está fazendo por lá, porém ao invés de usar uma api do github estou utilizando uma api da steam, para fazer um gamer finder, bem besta mesmo, o que eu não esperava era que, para adaptar o código que estou aprendendo por lá para a api da steam teriam algumascomplicações, sou completamente um iniciante então qualquer erro besta, por favor, relevem, lá vai o código:

routes.js

const { Router } = require('express')
const axios = require('axios');

const routes = Router();

routes.post('/gamers', async (request, response) => {
    const { steamid } = request.body;

    const apiResponse = await axios.get(`http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXX&steamids=${steamid}`)

    console.log(apiResponse.data);

    return response.json({ message: 'Sup' });
});

module.exports = routes;

Obs:Removi a key do url

gamer.js

const mongoose = require('mongoose');

const GamerSchema = new mongoose.Schema({
    steamid: String,
    name: String,
    bio: String,
    avatar_url: String,
    games: [String],
})

module.exports = mongoose.model('Gamer', GamerSchema);

tenho o index.sj que conecta ao mongoDB e tal, mas creio que não seja necessário encaminhar aqui também.

 

Nessa parte, a princípio única coisa que o usuário deveria enviar no body seria o steamid, aí que está, quando uso o programa insomnia mando um post com o body com meu id64 da steam, que seria para complementar o link, a partir disso pegaria as outras informações porém não implementei no código ainda pois única coisa que me retorna no terminal quando envio o post é: 

{ response: { players: [ [Object] ] } }

Isso que me deixou encucado, já tentei colocar Number no lugar de string no steamid, usar colchetes, algumas "soluções" que sei, creio que seja um "erro" simples de se resolver, assim espero, por não ter mt conhecimento me compliquei nessa parte, agradeço desde já quem se dispor a ajudar! 

  • Solução
Postado

Bom, finalizando o tópico, hoje acordei com a cabeça livre a acabei notando que o erro estava na 

9 horas atrás, X-X-Xeno disse:

(apiResponse.data);

como eu estou basicamente copiando o código que seria usado para outra api, esse foi a linha que não me retornou o desejado, removendo o data ele até me retorna urls de acesso do jeito que eu queria, com o próprio steamid enviado pelo insomnia e tal, mas do mesmo jeito não consegui fazer o request das informações do url, mesmo alterando esses

 

9 horas atrás, X-X-Xeno disse:

steamid: String, name: String, bio: String, avatar_url: String, games: [String],

para o valor certo para fazer o request, resolvi desencanar da ideia e continuar aprendendo mais um pouco antes de inventar moda.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!