Estoy tratando de usar una API en mi código que descarga medios de las publicaciones de Instagram.
La respuesta que pasa la API es la siguiente:
{ post1: { url: 'download url', type: 'media type' }, post2: { url: 'download url', type: 'media type' } }post1, post2, y así sucesivamente dependiendo de la cantidad de publicaciones en ese enlace (hasta 10 publicaciones).
Me gustaría que consultara y obtuviera la url de cada uno de ellos.
var resultsMedia = await apis.insta_post(link)Lo intenté
resultsMedia.post[i].url(me refiero a una función for que probé, for var i = 1; ...) y no tuve éxito.
Me gustaría saber cómo podría hacer que los resultadosMidia.post tomen un número a la vez, por ejemplo: resultadosMedia.post1.url, resultadosMedia.post2.url, resultadosMedia.post3.url, etc.
(resultsMedia se refiere a la llamada a la API, post se refiere a la respuesta de la API y url es un parámetro que también está presente en la respuesta de la API)
Puedes probar esto:
const postCount=Object.keys(resultsMedia).length; for (let i = 1;i<=postCount;i++){ console.log(resultsMedia[`post${i}`]) }Puede iterar usando Object.entries() :
const response = { post1: { url: 'download url 1', type: 'media type' }, post2: { url: 'download url 2', type: 'media type' } } Object.entries(response).forEach(([post, data]) => { console.log('---------------') console.log('Post:', post) console.log('Post number:', +post.replace('post', '')) console.log('Data:', data) console.log('Data url:', data.url) console.log('---------------') })