Facebook身份验证不起作用

时间:2012-01-05 18:59:45

标签: facebook authentication login

所以我在标题中设置了php sdk:

//set up Facebook object webroot is a variable that is defined above in the page        
require_once (''.$webroot.'facebook-platform/facebook.php');
    $facebook = new Facebook(array(
      'appId'  => 'ID',
      'secret' => 'SECRET',
      'cookie' => true,
    ));

    if($facebook->getUser() != 0){ // If someone's logged in...
        //Code in here that does stuff
        }
    ?>

然后我在登录按钮的主体中有这个代码:

<div id="fb-root"></div>
<script>
        window.fbAsyncInit = function() {
          FB.init({
            appId      : 'ID',
            status     : true, 
            cookie     : true,
            xfbml      : true,
            oauth      : true,
          });
        };
        (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_US/all.js";
           d.getElementsByTagName('head')[0].appendChild(js);
         }(document));</script>
<div class="fb-login-button" data-show-faces="false" data-width="200" data-max-rows="1"></div>

但点击登录按钮不执行任何操作,getUser始终返回0。这只是我网站上的一个fb登录按钮,我需要的唯一信息是FB用户ID,因为我用它绑定到我的MySQL数据库,以便在我的网站上访问该用户的一堆信息。但它根本不起作用。

1 个答案:

答案 0 :(得分:0)

在代码的Javascript部分中,您必须让PHP回显ID。它不会理解常数。所以 FB.init ({appID : '<?php echo ID;?>',....