Facebook重定向url给出空白页面


facebook redirect url gives blank page

这是登录页面脚本。

<?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();  

}

?>

当它重定向时,它来到我的重定向页面并给出一个空白页面。它给出的url如下:

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

我想让这个执行并显示结果。

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

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

$helper = new FacebookRedirectLoginHelper();
应:

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

如果redirect_uri与原始页面不相同,SDK会抛出错误。