3

私はこのjsを持っています:

$(document).ready(function () {
  $('.login-link').click(function () {
    FB.login(function(response) {
      console.log(response);
      if (response.authResponse) {
        console.log('Welcome!  Fetching your information.... ');
        FB.api('/me', function(resp) {
          console.log('Good to see you, ' + resp.name + '.');
        });
      } else {
        console.log('User cancelled login or did not fully authorize.');
      }
    }, {scope: 'email'});

  });
});

にバインドされている<div class="login-link">FB modal login</div>

問題は、FB.login のボタンをクリックしてアプリを承認すると、response.authResponse が null で、response.status が not_authorized になることです。もう一度クリックするかページを更新すると、ユーザーがアプリを承認したことが示されますが、明らかに初めて必要です。コードはFacebookから取得され、マイナーな変更が加えられています。

これを解決する方法はありますか?

4

1 に答える 1

3

他の誰かがこの問題に苦労している場合は、この問題の回避策を示したかっただけです。

$(document).ready(function () {
  $('.login-link').click(function () {
    FB.login(function(response) {
      FB.getLoginStatus(function (resp) {
        console.log(resp);
      }, true);
    }, {scope: 'email'});
  });
});

FB.loginが機能しない理由についての質問には実際には答えられないが、少なくとも一時的な解決策を提供するため、質問は開いたままにしておきます。

于 2013-02-15T13:54:21.923 に答える