2012-11-23 12 views
5

का उपयोग कर JSON प्रतिक्रिया कैसे प्राप्त करें अरे वहाँ मुझे चार स्क्वायर एपीआई सीखना शुरू हो गया है, लेकिन मैं एक्सेस टोकन प्राप्त करने में फंस गया हूं। यहां SO कोड में मिले कोड से एक हिस्सा है।कर्ल

 // build url 
    $url = 'https://foursquare.com/oauth2/access_token'; 
    $url .= '?client_id='.CLIENT_ID; 
    $url .= '&client_secret='.CLIENT_SECRET; 
    $url .= '&grant_type=authorization_code'; 
    $url .= '&redirect_uri=**********/callback'; //change to your 4sq callback 
    $url .= '&code='.$code; 

    // call to https://foursquare.com/oauth2/access_token with $code 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $result = curl_exec($ch); 

हालांकि यह काम नहीं किया, इसलिए मैंने त्रुटि खोजने की कोशिश की है। पहले $ url प्रतिबिंबित किया और मैन्युअल रूप से उस लिंक पर क्लिक किया। यह काम करता है, चौकोर ने मुझे जेसन प्रारूप में एक एक्सेस टोकन वापस कर दिया है। तो समस्या कोड के कर्ल भाग में है।

क्या आप मेरी त्रुटि पा सकते हैं? और अधिक महत्वपूर्ण बात यह है कि आप मुझे कर्ल पर अध्ययन करने के लिए कुछ संसाधन सुझा सकते हैं?

संपादित करें: मैं एक var_dump ($ परिणाम) किया था और उत्पादन 'बूलियन झूठी'

उत्तर

6

समस्या है http * रों *, जोड़ने की कोशिश इन:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
+0

हाँ! मैंने आपके जवाब से पहले curl_error ($ ch) गूंजने की कोशिश की, और आउटपुट एसएसएल सत्यापन के बारे में था और मैं इसके लिए खोज करने जा रहा था। उत्तर प्रश्न ^^ – Hasan

+0

से तेज़ है और यह काम करता है। धन्यवाद – Hasan

2

यदि यह एक पोस्ट है एक अनुरोध तो यह ऐसा करने का उचित तरीका है:

$body.='client_id='.CLIENT_ID etc. 
$c = curl_init(); 
curl_setopt($c, CURLOPT_URL, $url); 
curl_setopt ($c, CURLOPT_POST, true); 
curl_setopt ($c, CURLOPT_POSTFIELDS, $body); 
curl_setopt ($c, CURLOPT_RETURNTRANSFER, true); 
$page = curl_exec ($c); 
curl_close ($c); 
+0

"" अपरिभाषित निरंतर CURLOPT_GET का प्रयोग - 'CURLOPT_GET' मान लिया है "" – Hasan

+0

हाँ, खेद किया थोड़ी देर में जीईटी विधि का उपयोग न करें, यह http://codular.com/curl-with-php – cezar

+0

देखें, आपको हेडर को json curl_setopt (CURLOPT_HTTPHEADER, 'सामग्री-प्रकार: एप्लिकेशन/जेसन') पर सेट करने की भी आवश्यकता हो सकती है। ; – cezar