2011-09-05 13 views
0

我從Facebook教程很簡單的PHP代碼:我的Facebook的對象爲空

$facebook = new Facebook(array(
    'appId' => 'xxxx..', 
    'secret' => 'xxx...', 
)); 

當我測試的$facebook對象,我看它有沒有任何屬性。

我已經包含了Facebook PHP文件。否則,它應該拋出一個錯誤。所以鏈接庫不是我的問題。

我檢查了appId和密碼,它們也是正確的。我不知道爲什麼Facebook對象是空的,它不顯示任何錯誤。

我正在使用最新版本的PHP SDK。我今天更新了它。我使用相同的應用程序通過Javascript Facebook SDK登錄用戶,所以我認爲,我的應用程序設置正確。

+0

它可以完美的我。你在正確的命名空間嗎?也許你可以嘗試新的\ Facebook(...); –

回答

0

看起來完全沒問題.. 添加一些代碼來檢查它是否工作和查詢API。這裏有一些補充,你應該添加和檢查看到它的工作。

<?php 
set_time_limit(0); 
include_once 'facebook.php'; 
$facebook = new Facebook(array(
'appId'=>'******', 
'secret'=>'*****', 
'cookie'=>true 
)); 

$session=$facebook->getSession(); 
$me= null; 
try 
{ 
$userId=$facebook->getUser(); 
$me=$facebook->api('/me'); 
echo $me['first_name'] . " " . $me['last_name']; 

} 
catch (FacebookApiException $e) 
    { 
     echo $e->getMessage(); 
    } 

請確保您在任何Facebook API代碼中添加了「try catch」。如果遇到任何錯誤,它會顯示錯誤。

如果你有任何更多的問題,或者你覺得我沒有正確回答你的問題,請隨時評論和生病回覆你。

0

嘗試檢查,如果你有來顯示錯誤的設置,有時他們需要明確地聲明是這樣的:

的ini_set(「display_errors設置」,1);

0

因爲我發現,我沒有一個空的Facebook對象。我正在使用Krumo類來打印對象內容,並且可能設置爲不顯示protectec屬性。當我使用PHP的print_r函數,我得到這個對象:

Facebook Object (
    [appId:protected] => xxx 
    [apiSecret:protected] => xxx 
    [user:protected] => 
    [signedRequest:protected] => 
    [state:protected] => 
    [accessToken:protected] => 
    [fileUploadSupport:protected] => 
)
+0

+1我也是。我有這個f .... sh ...問題 – Enrique