Estoy tratando de obtener información de publicación pública de Instagram usando este enlace: https://instagram.com/p/{id}?__a=1 en Node.js usando https get request.
El problema es que funciona en mi servidor local, pero tan pronto como implemento mi código en la función sin servidor de Vercel , el evento de datos dentro de https nunca se activa, lo que deja mis datos como una cadena vacía.
const getPostInfo = (url) => { return new Promise((resolve, reject) => { let data = ""; https .get(url, (res) => { console.log(res.statusCode); // 301 res.on("data", (chunk) => { data += chunk.toString(); }); res.on("end", () => { console.log(data); // Empty string data = JSON.parse(data); // Parse error resolve(data); }); }) .on("error", (err) => { console.log(err); reject(err); }); }); }; Creo que el problema es con el enlace de Instagram que devuelve el código de estado 301. He intentado obtener otras solicitudes de otras API y parece estar funcionando bien.
También intenté usar Array buffer y también usé diferentes bibliotecas como request y node-fetch pero no tuve suerte.
Por favor, dime qué estoy haciendo mal.
Creo que es porque en mi país (INDIA) la API '?__a=1' funciona, pero en otro país como EE. UU. requiere que inicie sesión en Instagram y el servidor predeterminado de Vercel se encuentra en EE. UU., por lo que el evento de datos nunca se dispara.