2015-07-11 6 views
7

के बारे में जानकारी पूछने के लिए एक सक्रिय एक्सेस टोकन का उपयोग किया जाना चाहिए जब उपयोगकर्ता टोकन एक्सेस करता है, तो मैं त्रुटि त्रुटि प्राप्त कर रहा हूं। कृपया मुझे तुरंत मदद करें। मैं इस हल कर सकते हैं कैसे, मुझे बताओवर्तमान उपयोगकर्ता और OAuthException [कोड] => 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 एसडीके केवल "आधा रास्ता" क्यों प्रयोग कर रहे हैं ? उस अनुरोध को करने के लिए curl का उपयोग करने के बजाय, उस वर्ग का उपयोग करें जिसे एसडीके उस के लिए प्रदान करता है। लॉगिन के लिए एसडीके का उपयोग करके, इसे "विभाजन" करें, और उसके बाद इसे पूरी तरह से अलग करने के लिए छोड़ दें, ऐसा कोई अर्थ नहीं है। – CBroe

उत्तर

7

आप सही तरीके से पहुँच टोकन प्रदान नहीं कर रहे। यह के रूप में access_token URL क्वेरी पैरामीटर का मान के रूप में प्रस्तुत किया जाना चाहिए:

'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'] 
स्पष्टता के लिए

, विशिष्ट क्षेत्रों के बिना:

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

मैं आपके द्वारा निर्दिष्ट यूआरएल का उपयोग कर रहा हूं लेकिन यह अभी भी एक ही त्रुटि नहीं कर रहा है –

+0

स्वीट जेबस, मैं लंबे समय से सही उत्तर खोज रहा था ... पिछली बार ग्राफ v2.2 पर fbook लॉगिन का उपयोग किया ... बहुत बदल गया ... धन्यवाद! –

संबंधित मुद्दे