2015-07-11 56 views
7

當用戶訪問令牌時,我的得到錯誤之類的。 請立即幫助我。我怎樣才能解決這個問題,告訴我必須使用一個活動的訪問令牌來查詢有關當前用戶的信息&OAuthException [code] => 2500

stdClass的對象([出錯] => stdClass的對象([消息] =>有源 訪問令牌必須用於查詢當前用戶的信息。 [類型] => OAuthException [代碼] => 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

你爲什麼要使用「的方式半」的PHP SDK只有:應該呈現爲access_token網址查詢參數的值,如:

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

爲清楚起見,沒有特定的字段?而不是使用cURL來發出請求,請使用SDK爲此提供的類。以這種方式「分割」它,使用SDk登錄,然後放棄它以完全不同的東西,似乎沒有任何意義。 – CBroe

回答

7

你沒有以正確的方式提供訪問令牌。

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

我使用了與您指定的相同的網址,但它仍然不起作用相同的錯誤 –

+0

Sweet Jebus,我很長一段時間尋找正確的答案...最後在圖表v2.2上使用了fbook登錄...很多改變...謝謝! –

相關問題