2014-07-17 60 views
0

我創建在Facebook上SDK 4扇形澆口,getSignedRequest Facebook的SDK 4

我試圖使用$ signed_request = $ facebook-> getSignedRequest();

但是,我目前不確定哪個對象我應該調用getSignedRequest()。

的醫生說$臉譜,當我創建
$facebook = FacebookSession::setDefaultApplication('app_id 'secret');

我得到以下錯誤$ Facebook的對象

Fatal error: Call to a member function getSignedRequest() on a non-object 

CODE

$facebook = FacebookSession::setDefaultApplication('app_id', 'secret); 

// login helper with redirect_uri 
$helper = new FacebookRedirectLoginHelper('http://www.metah.ch/'); 

try { 
    $session = $helper->getSessionFromRedirect(); 
} catch(FacebookRequestException $ex) { 
    // When Facebook returns an error 
} catch(Exception $ex) { 
    // When validation fails or other local issues 
} 

$signed_request = $facebook->getSignedRequest(); 

var_dump($signed_request); 

回答

1

我無法想象FacebookSession::setDefaultApplication('app_id', 'secret');返回一個Facebook對象。你可以嘗試var_dump($facebook);來確認。

該文檔似乎並沒有建議它返回一個facebook對象。 https://developers.facebook.com/docs/php/gettingstarted/4.0.0

我有一段時間沒有使用SDK,但它曾經是,你會做new Facebook()獲得一個Facebook對象。該文檔似乎表明BaseFacebook類中存在getSignedRequest方法。 https://developers.facebook.com/docs/reference/php/facebook-getSignedRequest

+0

Hey Jaisen, 您對FacebookSession沒有返回對象的權利,vardump顯示NULL。 我也記得舊的SDK允許新的Facebook()創建一個對象。 看來,「getSignedRequest」是BaseFacebook的一部分,用這個說法,不太清楚該怎麼調用這個方法。 – RedRory

+0

看起來像'FacebookSession'已定義了該方法。 https://github.com/facebook/facebook-php-sdk-v4/blob/56d40c32400bcf36d41d4224bfee1406c5dba962/src/Facebook/FacebookSession.php#L105 –