在使用nodejs在Facebook上进行身份验证后,我需要获取个人资料数据。
我检查了facebook-passport code的网址结构:
const profileUrl = 'https://graph.facebook.com/3.1/me';
var proof = crypto
.createHmac('sha256', process.env.FACEBOOK_SECRET)
.update(result.access_token)
.digest('hex');
// url.search = (url.search ? url.search + '&' : '') + 'appsecret_proof=' + proof;
const url = `${profileUrl}?appsecret_proof=${proof}`;
console.log(url);
URL是正确的(例如-https://graph.facebook.com/3.1/me?appsecret_proof=e10a9d42c695bc80b5ca6aae17d4c4c0aadb633c5727cde7cec5e42d8e20d074,但是您会看到错误
"error": {
"message": "Unknown path components: /me",
"type": "OAuthException",
"code": 2500,
"fbtrace_id": "BO4/OUwq9lX"
}
我在哪里错了?
我注意到可以使用facebook用户ID,但如何获取。我只能获得access_token或类似的东西,我没有用户ID。