पीएचपी में आप कुछ इस तरह हो सकता है:
// EDIT: only need to use urlencode() on user supplied variables
//$url = urlencode("http://xyz.com/api?apikey=foo&v1=bar&v2=baz");
$url = "http://xyz.com/api?apikey=foo&v1=bar&v2=baz";
$response = file_get_contents($url);
$response
जो कुछ xyz.com
outputted जब आप $url
पहुँचा के एक स्ट्रिंग में शामिल होंगे (यह अगर तुम $url
दौरा आप देखना होगा क्या है सीधे)।
आपकी अगली नौकरी $response
को इसके डेटा संरचना (जैसे एक्सएमएल, जेएसओएन, आदि) के आधार पर पार्स करना होगा ताकि यह आपके शेष कोड द्वारा उपयोग योग्य हो।
एक्सएमएल या जेएसओएन पार्स करने के लिए कई PHP पुस्तकालय हैं। निजी तौर पर, मैं SimpleXMLElement
और json_decode()
का उपयोग करना पसंद करता हूं जो PHP 5> = 5.2.0 के साथ शामिल है।
एपीआई के आधार पर, यह शायद आपको $url
अनुरोध को समझ में नहीं आता है, तो यह आपको कुछ प्रकार का त्रुटि कोड/प्रतिक्रिया संरचना भेज देगा, जिसे आप प्रतिक्रिया का विश्लेषण करने के बाद जांच सकते हैं।
यदि $response
झूठा रिटर्न देता है, तो आमतौर पर $url
से संचार करने में कुछ त्रुटि हुई थी।
मुझे पता चला कि इन XHR
अनुरोधों के बारे में सोचने का एक सहज तरीका यह है कि आप एक फ़ंक्शन (एपीआई यूआरएल) में तर्क (GET
पैरामीटर) पास कर रहे हैं। और एपीआई यूआरएल की प्रतिक्रिया एक समारोह से रिटर्न स्टेटमेंट की तरह है।
अद्यतन: के रूप में टिप्पणी में ओपी ने सुझाव दिया Groupon के लिए
एपीआई उदाहरण:
$apikey = "client_id=abcd1234567890";
$division = "division_id=chicago";
$url = "http://api.groupon.com/v2/deals?" . implode("&", array($apikey, $division));
$response = file_get_contents($url);
$deals = json_decode($response, true);
foreach($deals['deals'] as $deal){
$format = 'Deal: <a href="%s">%s</a><br/>';
echo sprintf($format, $deal['dealURL'], $deal['announcementTitle']);
}
ऊपर कोड सभी सौदा खिताब और शिकागो क्षेत्र के लिए यूआरएल की एक सूची का प्रिंट आउट होगा। यदि आप ग्रुपन एपीआई पेज पर Sample JSON Response
अनुभाग देखते हैं, तो यह आपको संपूर्ण डेटा संरचना देगा जो सहयोगी सरणी $deals
पर मैप किया जाएगा।
यदि एपीआई के GET
पैरामीटर में से कोई भी उपयोगकर्ता द्वारा प्रदान किया जाता है (उदा। वेब फॉर्म से), तो आप $division = "division_id=" . urlencode($user_input);
जैसे कुछ करना चाहेंगे।
और आप अलग-अलग चरणों में विभिन्न शिक्षाओं को तोड़ सकते हैं।Php से एपीआई कॉल करने के बजाय (त्रुटि के दो स्रोत होने के बाद) ब्राउज़र में एपीआई कॉल का परीक्षण करें (यदि आपको नहीं पता है, तो जीईटी तब होता है जब यूआरएल में वेरिएबल्स जोड़ दिए जाते हैं, जैसे कि डिगिलैंड के उदाहरण में) ताकि आप कर सकें जब तक आप प्रतिक्रिया प्राप्त नहीं कर लेते तब तक टिंकर करें, और तब PHP में जाएं जहां आप इसके साथ कुछ करते हैं –
ओओ धन्यवाद धन्यवाद :) – hellomello
मैंने एपीआई के साथ ऐसा करने की कोशिश की, लेकिन urlencode काम नहीं करता है। मैंने इसे बंद कर लिया और अब मुझे तार और सामान मिल रहा है, लेकिन कोई छवि या कुछ और नहीं। बस साइट से पाठ (मैं अनुमान लगा रहा हूँ)। कोई सुझाव? – hellomello