Javascript JS Facebook API错误:必须使用活动访问令牌来查询有关当前用户的信息
在下面的代码中,用户从login pagefb-login.html使用FacebookJS-SDK登录后被重定向到当前页面仪表板 但是当我调用FB.api时,它会生成错误:必须使用活动的访问令牌来查询关于当前用户的信息,尽管访问令牌被传递到FB.api,如下所示Javascript JS Facebook API错误:必须使用活动访问令牌来查询有关当前用户的信息,javascript,facebook-graph-api,Javascript,Facebook Graph Api,在下面的代码中,用户从login pagefb-login.html使用FacebookJS-SDK登录后被重定向到当前页面仪表板 但是当我调用FB.api时,它会生成错误:必须使用活动的访问令牌来查询关于当前用户的信息,尽管访问令牌被传递到FB.api,如下所示 FB.api('/me', {fields: 'last_name'}, { access_token : accessToken } ,function(response) { console.log(response);
FB.api('/me', {fields: 'last_name'}, { access_token : accessToken } ,function(response) {
console.log(response);
});
正如您所看到的,accessToken正在被传递,因此我不确定为什么会出现此错误
HTML:
JS:
请看一看并提出适当的解决方案。
谢谢
dk移动了FB.api。。。在else{uID=response.authResponse.userID;accessToken=response.authResponse.accessToken;}中,这起到了作用
<head>
<meta charset="UTF-8">
<title>App Dashboard</title>
</head>
<body>
<p>This is Your Dashboard.</p>
<div class="form-line">
<button type="button" name="btn-fb-login" id="btn-fb-logout" value="FB Log Out">FB Login Out</button>
</div>
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
var accessToken;
var uID;
FB.init({
appId : '1910xxxxxxxxxxx',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.AppEvents.logPageView();
FB.getLoginStatus(function(response) {
if(!(response.status === 'connected')){
location.href = './fb-login.html';
} else {
uID = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
}
});
console.log(FB.getAuthResponse());
FB.api('/me', {fields: 'last_name'}, { access_token : accessToken } ,function(response) {
console.log(response);
});
}
var btn = document.getElementById('btn-fb-logout');
btn.onclick = function(){
FB.logout()
location.href = './fb-login.html';
}
</script>