Estoy tratando de obtener información de perfil de un usuario. Está trabajando en el host local pero no en el servidor. No he iniciado sesión en la cuenta de Instagram en local/mi PC. Parece que en el servidor está intentando iniciar sesión primero.
let username = req.query.username; if (!username) { throw "Please enter a username"; } let name = username.toLowerCase(); // console.log("name", name); var instagram_url = `https://www.instagram.com/${name}/?__a=1`; // console.log("url", instagram_url); // let response = await axios.get( // `https://api.lamadava.com/v1/user/by/username?username=hamimkivines&access_key=${access_key} // ); let response = await fetch(instagram_url); console.log("response -", response); let profile = await response.json(); // console.log("profile", profile); return res.status(200).send(profile); **Local response -** [Symbol(Response internals)]: { url: 'https://www.instagram.com/hamimkivines/?__a=1', status: 200, statusText: 'OK', headers: Headers { [Symbol(map)]: [Object: null prototype] }, counter: 0 } **Server Response** 0|dev | [Symbol(Response internals)]: { 0|dev | url: 'https://www.instagram.com/accounts/login/', 0|dev | status: 200, 0|dev | statusText: 'OK', 0|dev | headers: Headers { [Symbol(map)]: [Object: null prototype] }, 0|dev | counter: 1 0|dev | } 0|dev | 0|dev | error FetchError: invalid json response body at https://www.instagram.com/accounts/login/ reason: Unexpected token < in JSON at position 0 0|dev | at /var/www/html/everlensv2node/node_modules/node-fetch/lib/index.js:273:32 0|dev | at processTicksAndRejections (internal/process/task_queues.js:95:5) 0|dev | at async getInstagramProfile (/var/www/html/everlensv2node/modules/user/user.controller.js:188:21) { 0|dev | type: 'invalid-json' 0|dev | }Esto se debe a que el extremo de la API devuelve las etiquetas HTML que incluyen los datos JSON. En lugar de usar response.json() intente
let profile = response.text() let parsed_json = JSON.parse(profile)Si esto no funciona, tendrá que quitar manualmente las etiquetas adjuntas del XML que se devuelve.