2011-08-01 54 views
6

我有以下代碼:Facebook PHP 3.0.1 SDK API,getUser()總是== 0!爲什麼?

$facebook = new Facebook(array(
    'appId' => '###', 
    'secret' => '###' 
)); 
$user = $facebook->getUser(); 

$用戶永遠是0,我的AppId和祕密都100%正確。我究竟做錯了什麼?

+0

我已經將示例添加到我的localhost的虛擬主機,添加了我的AppId和祕密,仍然。沒有! –

+0

你曾經將用戶重定向到getLoginURL()嗎?用戶必須先認證您的應用,然後才能獲得用戶ID。 – squinlan

+0

這似乎是我的Facebook配置有問題,尤其是你把網站的網址和域的字段。仍在調查。 –

回答

4

確保你有一個條件,如果要檢查用戶狀態

$user=$facebook->getUser(); 
if($user) 
//someactions 
else 
{ 
// redirect the user to login and authorize your application, if necessary 
header('Location:'.$facebook->getLoginURL()); 
} 

請檢查功能的情況下。我可能是錯的。

+0

很明顯,但是如果getUser總是返回0,那麼就沒有必要轉向if語句。是有幫助的,但是,感謝張貼! –

+0

...我的意思是我的意思是,我應該可以在Facebook上登錄,然後getUser()應該拿起我登錄Facebook。 –

+0

不完全。如果您的應用沒有被授予對用戶的訪問權限(無論是您還是其他人),那麼getUser()不應該返回0以外的任何內容。一旦您進行身份驗證(轉發到getLoginUrl),那麼您的應用程序有權訪問並返回一個用戶。 –

0

我有同樣的問題一次...... 我只是設法修正來解決它與我的會話的問題

+0

這不回答問題。 –

+2

GEEEEEEE此答案真的很有幫助 –

+0

@BeauGrantham你怎麼能說它對你沒有幫助?我剛剛發現會話FB-SDK正在創建問題,並通過在會話中正確管理會話來解決此問題。 –

相關問題