1

我正在使用 Parse Javascript SDK 对 Facebook 进行身份验证,即使我在登录后成功,我的 Facebook 会话也没有创建。这是我使用的代码,

 <div id="fb-root"></div>
<script>
  // Additional JS functions here
  window.fbAsyncInit = function() {
      Parse.FacebookUtils.init({
            appId      : 'xxxx', // Facebook App ID
           // channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
            status     : true, // check login status
            cookie     : true, // enable cookies to allow Parse to access the session
            xfbml      : true  // parse XFBML
          });
  };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));

  function fLogin() {

        Parse.FacebookUtils.logIn(null, {
              success: function(user) {
                  alert("login success with user " + JSON.stringify(user));
                if (!user.existed()) {
                  alert("User signed up and logged in through Facebook!");
                } else {
                  alert("User logged in through Facebook!");
                }
                //FB.api('/me', function(response) {
                //  alert("got fb me api=" + JSON.stringify(response));
                //});

              },
              error: function(user, error) {
                alert("User cancelled the Facebook login or did not fully authorize.");
              }
            });
    }
</script>


<button class="btn-facebook btn-large" onclick="fLogin();"><img src="./img/fb_icon.png"> <span class="btn-facebook-text">Login with Facebook</span></button>

弹出窗口打开并登录 Facebook 后,我收到控制台消息“用户登录成功”,我可以看到访问令牌。但是,当我尝试调用 FB.api ("/me")... ...

如果我用 FB.init() 和 FB.login() 替换整个代码,它工作得很好。当我用 Parse FacebookUtils 替换它时,我得到了错误。

任何帮助将不胜感激。

4

0 回答 0