如何解决Facebook Graph API长期令牌
我正在使用Facebook Graph API,并且已经按照官方文档页面上的说明进行操作,通过运行以下代码使用先前提取的访问令牌来获取长期令牌
//Get long-lived access token
var longLiveToken = "https://graph.facebook.com/v8.0/oauth/" +
req.authInfo + "?grant_type=fb_exchange_token&client_id=" + process.env.FACEBOOK_CLIENT_ID +
"&client_secret=" + process.env.FACEBOOK_CLIENT_SECRET + "&fb_exchange_token=" + req.authInfo +
"&redirect_uri=http://localhost:4000/";
https.get(longLiveToken,(res) => {
console.log('statusCode:',res.statusCode);
console.log('headers:',res.headers);
res.on('data',(d) => {
console.log(d);
});
}).on('error',(e) => {
console.error(e);
});
但是我收到以下错误消息
'www-authenticate': 'OAuth "Facebook Platform" "invalid_request" "client_secret should not be passed to /oauth
我的查询与官方文档一致,不确定我为什么收到此错误消息或如何解决它
解决方法
我弄清楚代码有什么问题,我传入了错误的参数。以下是正确的查询
var longLiveToken = "https://graph.facebook.com/v8.0/oauth/" +
"access_token" + "?grant_type=fb_exchange_token&client_id=" + process.env.FACEBOOK_CLIENT_ID +
"&client_secret=" + process.env.FACEBOOK_CLIENT_SECRET + "&fb_exchange_token=" + req.authInfo;
,
您不应提供client_secret
值。尝试不提供client
参数。也许您提供的uri
错误,或者没有传递必需的参数。如果您再看一遍,它会起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。