2015-11-23 22 views
5

Đây là mã của tôi:Facebook PHP SDK - Graph trả về một lỗi: truy cập OAuth không hợp lệ thẻ

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>'; 

Đây là của tôi đăng nhập-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']; 

Khi tôi nhấp vào liên kết Login with Facebook! tôi được chuyển hướng đến Facebook, nơi tôi phải nhấp vào tiếp tục. Sau đó tôi quay trở lại trang web của mình nhận được lỗi sau:

Graph returned an error: Invalid OAuth access token. 

Ai đó có thể cho tôi biết sai lầm của tôi và cách khắc phục sự cố này ở đâu?

Trả lời

6

Bạn không truy xuất mã thông báo truy cập hợp lệ.

Thay đổi:

$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) { 
... 

Có một cái nhìn here

+0

Bây giờ tôi nhận được lỗi sau khi tôi nhận được trở lại trang web của tôi: 'Chú ý: Sử dụng accessToken liên tục không xác định - giả 'accessToken' trong/var /www/html/sportsector.bg/login-callback.php trên dòng 19 Biểu đồ trả lại lỗi: Mã thông báo truy cập OAuth không hợp lệ.' –

+0

Yepp xin lỗi, đã quên '$' trong '$ accessToken'. điên một chỉnh sửa. –

+0

Bây giờ tôi nhận được lỗi sau: 'Facebook SDK trả về lỗi: Xác thực giả mạo yêu cầu chéo trang không thành công. Thiếu "trạng thái" bắt buộc.' Bạn có thể cho tôi lời khuyên nào về điều đó không? –

Các vấn đề liên quan