javascript - 使用 Javascript 登录 Facebook 并记录新的 Parse Session

标签 javascript facebook session parse-platform

好的,我正在创建一个使用 Facebook 登录的应用程序,它还在 Parse 中记录了一个新 session 。因此,用户登录后,将创建 session ,并显示一个 Conceal 的 div。我正在使用 Facebook 登录按钮,并尝试向其添加 onclick 函数,但它似乎没有注册它,所以我不确定如何执行此操作。如有任何帮助,我们将不胜感激!!

这是我的代码:

<script type="text/javascript">
  Parse.initialize("APP_ID", "JS_KEY");

  function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    console.log(response);

    if (response.status === 'connected') {
      //Logged into the app & Facebook
    }
    else if (response.status === 'not_authorized') {
      //Logged into Facebook, not the app
      document.getElementById('status').innerHTML = 'Please log into this app.';
    }
    else {
      //Not logged into Facebook, unsure if logged into the app
      document.getElementById('status').innerHTML = 'Please log into Facebook.';
    }
  }

  function checkLoginState() {
    FB.getLoginStatus(function(response) {
      statusChangeCallback(response);

      if(response.status === 'connected') {
      }
    });
  }

  window.fbAsyncInit = function() {
    Parse.FacebookUtils.init({
      appId      : 'APP_ID',
      xfbml      : true,
      cookie     : true,
      version    : 'v2.4'
    });

    function fbLogin() {
      Parse.FacebookUtils.logIn(null, {
        success: function(user) {
          if (!user.existed()) {
            alert("User logged into Facebook and created a new Parse session!");
          }
          else {
            alert("User logged in through Facebook!");
          }

          div = document.getElementById("test");
          div.style.display = "block";
        },

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

    FB.getLoginStatus(function(response) {
      statusChangeCallback(response);
    });
  };

  (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 = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

</script>
<小时/>
<div class="container">
  <h1>Please log into Facebook.</h1>

  <div id="fb-root">
    <div onclick="fbLogin();" class="fb-login-button" data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="true"></div>

    <div id="status"></div>
  </div>

  <div id="test" style="display:none;">
    Hello World
  </div>

</div>

最佳答案

有一个 OAuth login example使用云代码。也许你可以查看 gitHub 中的代码并亲自尝试一下。

关于javascript - 使用 Javascript 登录 Facebook 并记录新的 Parse Session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161111/

相关文章:

javascript - 为什么 JavaScript RegEx 在调用之间保持状态?

php - GAE - PHP session 不工作

ruby-on-rails - Rails session 的竞争条件

javascript - 在关闭选项卡/窗口事件上提交表单

javascript - 未捕获的 ReferenceError : google is not defined at google. maps.Marker()

ios - 登录facebook后如何重定向用户?

facebook - include_headers 应该这样放置吗?

php - 当数据作为 session 传递时更新 mysql 数据库

javascript - 比较JavaScript中的循环(自引用)对象

objective-c - Facebook 登录对话框不适用于 UIAlertView,但适用于 UIButton