2015-07-11 33 views
7

Khi mã thông báo truy cập của người dùng, tôi là gặp lỗi thích. Xin hãy giúp tôi ngay lập tức. Làm thế nào tôi có thể giải quyết này, cho tôi biếtMã thông báo truy cập hoạt động phải được sử dụng để truy vấn thông tin về người dùng hiện tại & OAuthException [code] => 2500

stdClass Object ([lỗi] => stdClass Object ([tin nhắn] => Một hoạt động thẻ truy cập phải được sử dụng để truy vấn thông tin về người dùng hiện tại. [loại] => OAuthException [code] => 2500))

require 'facebook-php-sdk-v4/src/Facebook/autoload.php'; 
require("facebook.php"); 

$fb = new Facebook\Facebook([ 
    'app_id' => '1501716620042981', 
    'app_secret' => '510d15193610ca682b7f79c156992bb5', 
    'default_graph_version' => 'v2.3', 
    ]); 
$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(); 
    exit; 
} 

if (isset($accessToken)) { 
    // Logged in! 
echo $_SESSION['facebook_access_token'] = (string) $accessToken; 

    // Now you can redirect to another page and use the 
    // access token from $_SESSION['facebook_access_token'] 
} 



    $curl_handle=curl_init(); 
    curl_setopt($curl_handle, CURLOPT_URL,'https://graph.facebook.com/me/?fields=albums.fields(id,name,cover_photo,photos.fields(name,picture,source)),videos.type(uploaded)&'.$_SESSION['facebook_access_token']); 
    curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl_handle, CURLOPT_USERAGENT, 'fb'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 
    # Return response instead of printing. 
    $query = curl_exec($curl_handle); 
    curl_close($curl_handle); 


    print_r(json_decode($query)); 
+0

Tại sao bạn đang sử dụng các chỉ PHP SDK “nửa đường” ? Thay vì sử dụng cURL để thực hiện yêu cầu đó, hãy sử dụng lớp mà SDK cung cấp cho điều đó. "Tách" nó theo cách này, sử dụng SDk để đăng nhập, và sau đó từ bỏ nó cho một cái gì đó hoàn toàn khác nhau, dường như không có ý nghĩa gì cả. – CBroe

Trả lời

7

Bạn sẽ không cung cấp các thẻ truy cập một cách đúng đắn. Nó nên được trình bày như giá trị của tham số truy vấn access_token URL như trong:

'https://graph.facebook.com/me/?fields=albums.fields(id,name,cover_photo,photos.fields(name,picture,source)),videos.type(uploaded)&access_token='.$_SESSION['facebook_access_token'] 

cho rõ ràng, không có các lĩnh vực cụ thể:

'https://graph.facebook.com/me?access_token='.$_SESSION['facebook_access_token'] 
+1

tôi đang sử dụng cùng một url như bạn đã chỉ định nhưng lỗi vẫn không hoạt động giống như –

+0

Jebus ngọt ngào, tôi đang tìm kiếm câu trả lời đúng thời gian dài ... sử dụng lần cuối đăng nhập fbook trên đồ thị v2.2 ... nhiều thay đổi ... Cảm ơn! –

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