2012-01-05 185 views
0

所以我成立了标头中的PHP SDK:Facebook的身份验证工作不

//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用户标识,因为我使用该标识绑定到我的MySQL数据库,以访问我的网站上该用户的一堆信息。但它根本不工作。

+0

您是否尝试过手动创建如 Login TommyBs 2012-01-05 19:09:46

+0

试了一下登录链接,同样的问题。 – 2012-01-05 19:22:53

+0

您是否检查了传递给'auth.login'事件的内容?你有没有试过用你的appId和秘密来使用[来自PHP-SDK的例子](https://github.com/facebook/php-sdk/blob/master/examples/with_js_sdk.php)? – 2012-01-05 20:40:33

回答

0

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