Facebook Graph API 长效令牌
Facebook Graph API Long-Lived Token
我正在使用 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
我的查询符合官方文档,不知道为什么会收到此错误消息或如何解决它
您不应提供 client_secret
值。尽量不要提供 client
参数。也许您提供了错误的 uri
,或者没有传递必需的参数。如果您再看一看,它会起作用。
我发现代码有什么问题,我传递了错误的参数。以下是正确的查询
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;
我正在使用 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
我的查询符合官方文档,不知道为什么会收到此错误消息或如何解决它
您不应提供 client_secret
值。尽量不要提供 client
参数。也许您提供了错误的 uri
,或者没有传递必需的参数。如果您再看一看,它会起作用。
我发现代码有什么问题,我传递了错误的参数。以下是正确的查询
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;