我正在尝试开发一个使用Facebook Graph对象的基本应用程序。我很难理解如何使用基本的facebook会话。目前,我可以通过让应用程序提示用户获得许可来登录Facebook。获得许可后,该应用会重定向到下面的$redirect_url
。虽然,一旦我到达实际重定向的app.php
脚本,我很难在一段时间内访问图形对象,而不会出现如下错误:
Facebook\FacebookAuthorizationException' with message 'This authorization code has been used.
目前signin.php
代码重定向成功,在重定向发生之前,脚本能够成功访问图形对象
$app_id = '12334567890';
$app_secret = 'zzzwewe123456789ad8';
$redirect_url = 'http://localhost/www/concept/app.php';
FacebookSession::setDefaultApplication($app_id,$app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_url);
$sess = $helper->getSessionFromRedirect();
if(isset($sess)){
$access_token = $sess->getToken();
$session = new FacebookSession($access_token);
$request = new FacebookRequest($sess, 'GET', '/me');
$response = $request->execute();
$graph = $response->getGraphObject(GraphUser::classname());
$name = $graph->getName();
echo $name;
}else{
echo '<a href="'.$helper->getLoginUrl().'"> Login with facebook</a>';
}
重定向发生后(app.php
),我无法在不收到错误的情况下访问图表对象:Facebook\FacebookAuthorizationException' with message 'This authorization code has been used.
app.php
$app_id = '12334567890';
$app_secret = 'zzzwewe123456789ad8';
$redirect_url = 'http://localhost/www/concept/app.php';
FacebookSession::setDefaultApplication($app_id, $app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_url, $app_id, $app_secret);
$session = $helper->getSessionFromRedirect();
此时我想做的只是在重定向页面输出用户名,使用图形对象,我需要能够刷新页面而不会出现上述错误。
我真的很感激任何建议