这是我的服务器代码:
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
req.query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
req.baseUrl = `https://graph.facebook.com`
const v = await req.get(`/v3.2/oauth/access_token`)
v.body
})
我遇到的问题是'v'始终是不确定的-我已经通过PostMan测试了Facebook请求,并且该请求正在运行-似乎我的get请求从未得到满足。
答案 0 :(得分:0)
我认为应该更像这样
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
这里的数据是通过“获取”获取的,响应可以发送回客户端或以任何可能的方式使用。
您在此处执行的操作将是反模式,因为您尝试编辑快速请求对象,除非用于身份验证和应用程序级别所需的其他操作,否则不建议这样做。
此外,该请求是express.Request类型。它没有get()属性。选中this供参考。
希望这可以很好地说明您的问题!!! 欢呼:)