2012-11-28 43 views
0

問題:我無法從facebook的getuser()方法獲取用戶標識。 描述:我已經創建了一個Facebook應用程序。我已將網站網址設爲「http:// localhost:8088/fb /」保存更改後。現在我想獲取用戶ID,以便我可以在Facebook上訪問用戶的信息。 下面是我的代碼:Facebook的getuser()方法php sdk總是返回0

<?php 
require 'facebook.php'; 


$facebook = new Facebook(array(
    'appId' => 'xxxxxxxxxxx', 
    'secret' => 'xxxxxxxxxxxxxxxxxx', 
)); 

$user = $facebook->getUser(); 
echo $user; 
if($user) 
{ 
$logoutUrl = $facebook->getLogoutUrl(); 
} 
else 
{ 
$logoutUrl=$facebook->getLoginUrl(); 
} 
?> 
<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
<title>php-sdk</title> 
</head> 
<body> 
<?php if($user) 
    { 
?> 
<a href="<?php echo $logoutUrl; ?>">Logout</a> 
<?php 
    } 
else 
{ 
?> 
<a href="<?php echo $loginUrl; ?>">Login</a> 
<?php 
    } 
    ?> 
    </body> 
    </html> 

登錄至Facebook後,我得到的用戶ID等於0。請告訴我在那裏,我需要進行任何設置?我已經搜索了很多解決方案,但沒有任何作用請幫我拿到用戶名。我會非常感激。

+0

此外我修改了代碼來authroize應用程序。我使用下面的代碼$ params = array( 'scope'=>'read_stream', 'redirect_uri'=>'http:// localhost:8088/fb/feeds.php' ); \t並在此處使用它 $ loginUrl = $ facebook-> getLoginU($ params);授權對話框打開。 BT即使在authrozing應用程序後,我沒有得到用戶ID。 –

回答

0

我不知道很多關於PHP但原因可能是其中之一:

  1. 你沒有身份驗證的應用程序。
  2. 您正在從本地主機運行應用程序,並在您的域或其他地方提供圖API中的名稱。
  3. 您的訪問令牌已過期。
+0

我沒有得到你的第二點。你能否詳細說明一下。 –

+0

當您創建與您的應用程序相關的Facebook應用程序時,您應該在Facebook開發人員應用程序部分的應用程序設置中提供了應用程序域。如果您在本地服務器(或本地主機)上運行您的網站或應用程序,則應該將該應用程序域作爲本地主機提供。比Facebook會認證你。 –

+0

我在應用程序設置中將應用程序域作爲本地主機提供。但問題仍然存在... –

相關問題