获得Parse Javascript Facebook用户登录的问题&注册与jquery站点一起使用

时间:2014-02-09 09:35:29

标签: javascript facebook-javascript-sdk parse-platform

以下更新:我发现了这篇文章 Facebook login via Parse & Javascript

我改变了我的代码以反映如下(在下面。但是从网页上抛出以下错误。

  

应用程序配置不允许使用URL:一个或   应用程序的设置不允许更多的给定URL。它必须   匹配网站URL或Canvas URL,或域必须是子域   App的一个域名。

不确定这是否与我的App url实际上在fb中不匹配?

    <div id="fb-root"></div>

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

         window.fbAsyncInit = function() {
         Parse.FacebookUtils.init({
          appId      : '*******',
          status     : true,
          cookie     : true,
          xfbml      : true
        });

        Parse.FacebookUtils.logIn(null, {
        success: function(user) {
        if (!user.existed()) {
          alert("User signed up and logged in through Facebook!");
        } else {
          alert("User logged in through Facebook!");
        }
      },
  error: function(user, error) {
    alert("User cancelled the Facebook login or did not fully authorize.");
  }
});
   };

(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)); 

</script>

我正在尝试将www.PARSE.com Facebook用户登录代码添加到我的网站。

我所遵循的指南是https://www.parse.com/docs/js_guide#fbusers

我的代码看起来像这样。加载页面时,不会显示登录页面。我不确定我错过了什么?当我查看解析时,似乎在数据浏览器中创建了“user”,表明查找工作正在以某种方式进行。

潜在问题,

1 /我不确定“channelUrl”是否正确?我是否包含channel.html? 2 /我需要在标题中引用java脚本吗?从我读到的这不是必需的?

    <div data-role="page" id="main_page" data-theme="a">

        <div data-role="header" data-position="fixed" data-tap-toggle="false" data-update-page-padding="false">
            <a href="#" data-slidemenu="#slidemenu" data-slideopen="false" data-icon="smico" data-corners="false" data-iconpos="notext">Menu</a>
            <h1>Slide Menu</h1>
        </div>

    <div data-role="content" class="ui-content" role="main">


    <!--Parse initialize codes-->

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

    <!--Parse initialize code end here-->



    <!--FB SDK code load for page starts here-->

    <div id="fb-root"></div>

    <script>
      window.fbAsyncInit = function() {
         Parse.FacebookUtils.init({
          appId      : 'XXXXX',
          channelUrl : 'WWW.kudosoo.com/channel.html',
          status     : true,
          cookie     : true,
          xfbml      : true
        });
      };
      </script>

    <!--FB SDK code load for page ends here-->  

    <!--FB login code for page starts here-->

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



          Parse.FacebookUtils.logIn(null, {
  success: function(user) {
    if (!user.existed()) {
      alert("User signed up and logged in through Facebook!");
    } else {
      alert("User logged in through Facebook!");
    }
  },
  error: function(user, error) {
    alert("User cancelled the Facebook login or did not fully authorize.");
  }
});

</script>

<!--FB login code for page ends here-->


    <p>Read the documentation and start building your JavaScript app:</p>

    <ul>
      <li><a href="https://www.parse.com/docs/js_guide">Parse JavaScript Guide</a></li>
      <li><a href="https://www.parse.com/docs/js">Parse JavaScript API Documentation</a></li>
    </ul>



        </div>

    </div>

1 个答案:

答案 0 :(得分:1)

通过大量的反复试验,我自己能够找到问题的答案。适用于我的代码如下所示。

 <div id="fb-root"></div>

 <script type="text/javascript">      // Initialize the Parse object first.
   Parse.initialize("XXXXX", "XXXXX");
       window.fbAsyncInit = function() {
         Parse.FacebookUtils.init({
           appId      : 'XXXXXXX',
           channelUrl : 'http://www.example.com/channel.html',
           status     : true,
           cookie     : true,
           xfbml      : true
         });

         Parse.FacebookUtils.logIn(null, {  
           success: function(user) {
             if (!user.existed()) {
               alert("User signed up and logged in through Facebook!");
             } else {
               alert("User logged in through Facebook!");
             }
           }, error: function(user, error) {
             alert("User cancelled the Facebook login or did not fully authorize.");
    } });

  };

  (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>