facebook redirect url给出了空白页面

时间:2014-08-12 10:25:20

标签: php facebook-php-sdk

这是登录页面脚本。

<?php
ini_set('error_reporting', E_ALL);
//includes


$id = '[MY ID]';
$secret = '[MY SECRET CODE]';

FacebookSession::setDefaultApplication($id, $secret);
$helper = new FacebookRedirectLoginHelper('[redirect Page]');
$loginUrl = $helper->getLoginUrl();
echo "<a href = " . $loginUrl . ">Login With Facebook</a>";

?>

这是重定向页面脚本。

<?php
ini_set('error_reporting', E_ALL);
session_start();
//includes


$helper = new FacebookRedirectLoginHelper();
try {
  $session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
  // When Facebook returns an error
} catch(\Exception $ex) {
  // When validation fails or other local issues
}
if ($session) {
  // Logged in
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
    $graph = $response->getGraphObject(GraphUser::className());
    echo "Hi " . $graph->getName();  


}


?>

当它重定向时,它会进入我的重定向页面并给出一个空白页面。它给出的网址如下:

http://redirectpage?code=[very long code.]

我想要执行此操作并向我显示结果。

echo "Hi " . $graph->getName(); 

1 个答案:

答案 0 :(得分:0)

在重定向脚本中,确保redirect_uri设置为与登录页面相同:

$helper = new FacebookRedirectLoginHelper();

应该是:

$helper = new FacebookRedirectLoginHelper('[redirect Page]');

如果redirect_uri与原始页面不同,则SDK会引发错误。