2015-11-23 23 views
5

Oto mój kod:Facebook PHP SDK - wykres zwrócił błąd: Nieprawidłowy dostęp OAuth tokena

login.php:

<?PHP 
require_once __DIR__ . '/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
    'app_id' => '', 
    'app_secret' => '', 
    'default_graph_version' => 'v2.2', 
    ]); 

$helper = $fb->getRedirectLoginHelper(); 
$permissions = ['email','public_profile']; // optional 
$loginUrl = $helper->getLoginUrl('http://www.sportsector.bg/login-callback.php', $permissions); 

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>'; 

Oto mój login-callback.php:

<?PHP 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
session_start(); 
require_once __DIR__ . '/Facebook/autoload.php'; 
$fb = new Facebook\Facebook([ 
    'app_id' => '', 
    'app_secret' => '', 
    'default_graph_version' => 'v2.2', 
    ]); 


try { 
    // Returns a `Facebook\FacebookResponse` object 
    $response = $fb->get('/me?fields=id,name', '{access-token}'); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

$user = $response->getGraphUser(); 

echo 'Name: ' . $user['name']; 

Po kliknięciu linku Login with Facebook! zostaje przekierowany do serwisu Facebook, gdzie muszę kliknąć dalej. Potem wrócić na mojej stronie otrzymującego następujący błąd:

Graph returned an error: Invalid OAuth access token. 

Czy ktoś mógłby mi powiedzieć, gdzie jest mój błąd i jak można rozwiązać ten problem?

Odpowiedz

6

Nie pobrano ważnego tokena dostępu.

Zmiana:

$fb = new Facebook\Facebook([ 
    'app_id' => '', 
    'app_secret' => '', 
    'default_graph_version' => 'v2.2', 
    ]); 


$helper = $fb->getRedirectLoginHelper(); 

try { 
    $accessToken = $helper->getAccessToken(); 
    $response = $fb->get('/me?fields=id,name', $accessToken); 
    .... 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
... 

przyjrzeć here

+0

Teraz mam następujący komunikat o błędzie, kiedy wrócę do mojej strony internetowej: 'Wskazówka: użycie niezdefiniowanej stałej accessToken - zakłada„accessToken”/ var /www/html/sportsector.bg/login-callback.php on line 19 Wykres zwrócił błąd: Niepoprawny token dostępu OAuth. " –

+0

Tak, przepraszam, zapomniałem' $ 'w' $ accessToken'. szalona edycja. –

+0

Teraz pojawia się następujący komunikat o błędzie: 'Pakiet SDK serwisu Facebook zwrócił błąd: Nie powiodło się sprawdzanie fałszywego żądania między lokacjami. Brak wymaganego paramu "stan". Czy możesz mi coś na ten temat poradzić? –

Powiązane problemy