Bonjour, je suis entrain d'etablir une connection SDK via Facebook sur mon site internet. J'ai un problème avec le token
Voici le message d'erreur:
Graph returned an error: Error validating access token: Session does not match current stored session. This may be because the user changed the password since the time the session was created or Facebook has changed the session for security reasons.
Je ne comprends pas d'ou cela peut venir. Avez vous une idee svp ?
Voici le code qui provoque cette erreur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| #login-callback.php
if (!session_id())
{
session_start();
}
require_once __DIR__.'/vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'Bon_id',
'app_secret' => 'Bon_MDP',
'default_graph_version' => 'v2.7',]);
if (!$_SESSION['facebook_access_token'])
{
$helper = $fb->getRedirectLoginHelper();
try
{
$accessToken = $helper->getAccessToken();
}
catch (Facebook\Exceptions\FacebookResponseException $e)
{
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
}
catch (Facebook\Exceptions\FacebookSDKException $e)
{
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
}
}
if (isset($accessToken) AND !isset($_SESSION['facebook_access_token']))
{
// Logged in!
$_SESSION['facebook_access_token'] = (string) $accessToken;
$oAuth2Client = $fb->getOAuth2Client();
// Exchanges a short-lived access token for a long-lived one
$_SESSION['facebook_access_token'] = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
// Now you can redirect to another page and use the
// access token from $_SESSION['token']
}
if (isset($_SESSION['facebook_access_token']))
{
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
try
{
// Returns a `Facebook\FacebookResponse` object
$return = $fb->get('/me');
$user = $return->getGraphUser();
}
catch(Facebook\Exceptions\FacebookResponseException $e)
{
echo 'Graph returned an error 2 : ' . $e->getMessage();
exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e)
{
echo 'Facebook SDK returned an error 2 : ' . $e->getMessage();
exit;
}
print_r($user);
} |
L'erreur retournée est ligne 57. Merci :D
Partager