2013-03-14 103 views
2

請有瞄了一眼我的代碼..facebook getuser。它總是返回零

<?php 
require_once 'src/facebook.php'; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => 'apppID', 
    'secret' => 'sercretCode', 
    'cookie' =>'true' 
)); 

?> 
<!DOCTYPE html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
    <meta charset="utf-8" /> 
    <title>Facebook PHP</title> 
</head> 
<body> 
<h1>Hello World</h1> 
<?php 
    //get user from facebook object 
    $user = $facebook->getUser(); 

    if ($user): //check for existing user id 
     echo '<p>User ID: ', $user, '</p>'; 
    else: //user doesn't exist 
     $loginUrl = $facebook->getLoginUrl(array(
      'diplay'=>'popup', 
      'redirect_uri' => 'http://apps.facebook.com/returnpath/' 
     )); 
     echo '<p><a href="', $loginUrl, '" target="_top">login</a></p>'; 
    endif; //check for user id 
?> 
</body> 
</html> 

現在的getUser()方法總是返回0,並進入別的。我總是會得到「登錄」,即使我登錄也一樣。請讓我知道是否有任何問題。我已經看到很多這樣的問題,但沒有一個完全解決了這個問題。我的appid和密鑰是正確的。

回答

0

根據SDK docs您將在$facebook->getUser()得到零值,如果用戶還沒有登錄。

  • 嘗試登錄,如Facebook的用戶,然後調用的getUser()方法。
  • 是'cookie'=>'true'可選?如果是這樣,請嘗試刪除該配置參數。確保你的Facebook對象正在創建。
  • 檢查你的日誌,看看代碼是否沒有產生任何錯誤。
+0

我試過登錄。但即使登錄後返回零。 Cookie是可選的。但是,即使我刪除了沒有解決的問題,讓我知道你是否有其他的程序......這是我無法解決的第一步。 – user1710675 2013-03-15 14:05:11

0

好吧!包括我在內的大多數人都很好奇,他們在註冊應用程序後立即製作應用程序。我沒有修改上面的代碼。

默認情況下,要訪問應用程序FB需要24小時。所以,你將無法獲得用戶名或用戶的任何細節。請等待24小時。

+0

你沒有改變任何代碼,你等了24小時,現在它的工作?這可能對其他人知道有用。謝謝。 – 2013-03-15 15:49:03

+0

是的,我堅持相同的----,完全失望,這個解決方案如何? – dlopezgonzalez 2014-02-05 17:26:45