2012-01-05 76 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;?>',....