次のコードでは、ログインページからFacebook JS-SDKを使用してログインした後、現在のページ(ダッシュボード)私はFB.api()
を呼び出すとき-login.html)JS Facebook APIエラー:現在のユーザーに関する情報を照会するために、アクティブなアクセストークンを使用する必要があります
をしかし、それはエラーが発生します。An active access token must be used to query information about the current user
access_token
もののはFB.api
に渡され、以下のように。
FB.api('/me', {fields: 'last_name'}, { access_token : accessToken } ,function(response) {
console.log(response);
});
ご覧のとおり、accessToken
が渡されていますが、私はこのエラーがなぜ発生しているのかわかりません。
HTML:
<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>
JS:
<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>
Plsのは、見て、適切な解決策を提案します。 おかげ dkが