2017-05-20 3 views
0

次のコードでは、ログインページからFacebook JS-SDKを使用してログインした後、現在のページ(ダッシュボード)私はFB.api()を呼び出すとき-login.html)JS Facebook APIエラー:現在のユーザーに関する情報を照会するために、アクティブなアクセストークンを使用する必要があります

をしかし、それはエラーが発生します。An active access token must be used to query information about the current useraccess_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が

答えて

0

else { uID = response.authResponse.userID; accessToken = response.authResponse.accessToken;}FB.api(...)を移動し、それが働きました。

関連する問題

 関連する問題