1

Facebook アプリでユーザーを認証しようとしています。私は次のコードを使用しています:

window.fbAsyncInit = function () {
        FB.Event.subscribe('auth.statusChange', fbIsReady);
        FB.init({ appId: app_id, channelUrl: channelUrl, status: true, cookie: true, xfbml: true, oauth: true});
        FB.Canvas.setAutoGrow();
        FB.Canvas.scrollTo(0, 0);
      };

      (function (d) {
        var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_GB/all.js";
        d.getElementsByTagName('head')[0].appendChild(js);
      } (document));


function fbIsReady(res){
  fbReady = 1;
  var params = {method: "oauth", "scope": 'publish_stream'};
  FB.ui(params, isLoggedIn);
}

function isLoggedIn(res){
  if(!res || res.status === 'not_authorized' || res.perms != 'publish_stream')
    fbIsReady();
  else if(res.hasOwnProperty('selected_profiles')){
    FB.api('/me', {access_token: FB.getAccessToken()}, checkUserInfo);
  }
}

function checkUserInfo(){
    console.log(res); // return the error bellow right after the user gives permissions and the expected result after refresh
}

私の問題は、ユーザーがアプリで認証した後、アクセス トークンが設定されていないことです。機能させるには、ページを更新する必要があります。ユーザー認証の後、FB.api('/me'...) を実行できると思いますが、次のようになります。

コード: 2500 メッセージ: 「現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。」タイプ: "OAuthException"

ページを更新するまで。何か案が??

ありがとう

4

0 に答える 0