我被困了几个小时,找不到答案。
这是一个非常简单的请求,在浏览器中运行良好(它返回一个JSON答案(,例如:https://www.instagram.com/eurosportfr/channel/?__a=1
在开发中的代码:
const express = require('express');
const axios = require('axios');
const cors = require('cors');
const app = express();
app.use(cors());
app.get('/instagram', (req, res) => {
async function getInstagramFeed() {
await axios
.get('https://www.instagram.com/eurosportfr/?__a=1')
.then((response) => {
console.log(response);
res.write(`${JSON.stringify(response.data)}`);
res.end();
})
.catch((err) => {
console.log(err.response);
res.write('<h1>ERROR GRAVE</h1>');
res.write(err.response);
res.end();
});
}
getInstagramFeed();
});
const PORT = process.env.PORT || 8000;
app.listen(PORT, () => console.log(`listening on ${PORT}`));
DEV ENV中的结果是JSON数据,包含了我所需要的所有内容。
但在生产中,它不会向我返回JSON。相反,它会返回一个HTML页面。。。
你可以在这里试试:(我在正文中显示结果(https://corsmiddleware.vercel.app/instagram
当我用另一个api客户端尝试另一个api请求时,它在prod中运行良好,例如:https://corsmiddleware.vercel.app/test
知道吗??
感谢
此请求现在需要身份验证。它在过去是有效的,现在在我所在的摩洛哥仍然有效,但这种解决方案并不可靠。
解决方案是按照脸书上的说明:https://developers.facebook.com/docs/instagram-basic-display-api/