这是登录页面脚本。
<?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();
答案 0 :(得分:0)
在重定向脚本中,确保redirect_uri
设置为与登录页面相同:
$helper = new FacebookRedirectLoginHelper();
应该是:
$helper = new FacebookRedirectLoginHelper('[redirect Page]');
如果redirect_uri
与原始页面不同,则SDK会引发错误。