Php 页面刷新时facebook Api未运行错误
我正在使用facebook API表单登录它正在工作,但问题是它在页面刷新时显示错误这里是我的代码,请在我检索用户名和id时给我解决方案,但在刷新(f5)页面时出现错误Php 页面刷新时facebook Api未运行错误,php,facebook,api,session,Php,Facebook,Api,Session,我正在使用facebook API表单登录它正在工作,但问题是它在页面刷新时显示错误这里是我的代码,请在我检索用户名和id时给我解决方案,但在刷新(f5)页面时出现错误 <?php session_start(); require_once ('fb/autoload.php'); require_once ('fb/facebook.php'); $fb = new Facebook\Facebook([
<?php session_start();
require_once ('fb/autoload.php');
require_once ('fb/facebook.php');
$fb = new Facebook\Facebook([
'app_id' => '',
'app_secret' => '',
'default_graph_version' => 'v2.2',
]);
$helper = $fb->getRedirectLoginHelper();
$accessToken = $helper->getAccessToken(); //retrive accessToken
$permissions = ['email', 'public_profile', 'user_friends' ];
$loginUrl = $helper->
getLoginUrl('http://localhost/facebook/', $permissions);
if (isset($accessToken))
{
$_SESSION['facebook_access_token'] = (string) $accessToken;
}
if (isset($_SESSION['facebook_access_token']))
{
$oAuth2Client = $fb->getOAuth2Client();
$longLivedAccessToken =$oAuth2Client->
getLongLivedAccessToken($_SESSION['facebook_access_token']);
$_SESSION['fb_access_token'] = (string) $longLivedAccessToken;
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
$response =$fb->
get('/me?locale=en_US&fields=name,email,gender,picture');
$userNode = $response->getGraphUser();
$id=$userNode->getId();
$name=$userNode->getName();
echo 'Logged in as ' . $name;
echo '<a href="out.php">out</a>'; //
}
else
{
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
}
?>
致命错误:未捕获异常“Facebook\Exceptions\FacebookSDKException”,消息为“跨站点请求伪造验证失败”。URL和会话中的“state”参数不匹配。您可能只需在成功登录后将用户重定向到其他地方,以便code
和state
参数从URL中消失–然后重新加载不会触发再次将代码交换为令牌的整个过程。“此授权代码已被使用”-这意味着您正试图第二次用代码
交换访问令牌。请找出第一次发生的时间,然后将用户重定向到其他位置。