आप जानना चाहते हैं कि बाकी एपीआई आप का समर्थन करता है बुला रहे हैं की आवश्यकता होगी GETया POST, या दोनों तरीकों। नीचे दिया गया कोड कुछ ऐसा है जो मेरे लिए काम करता है, मैं अपनी खुद की वेब सेवा एपीआई कॉल कर रहा हूं, इसलिए मुझे पहले से ही पता है कि एपीआई क्या लेता है और यह क्या लौटेगा। यह दोनों GETऔर POSTविधियों का समर्थन करता है , इसलिए कम संवेदनशील जानकारी अंदर जाती है URL (GET), और उपयोगकर्ता नाम और पासवर्ड जैसी जानकारी POSTचर के रूप में प्रस्तुत की जाती है। इसके अलावा, सब कुछ HTTPSकनेक्शन पर चला जाता है ।
एपीआई कोड के अंदर, मैं एक एरेस को एनकोड करता हूं, जिसे मैं json फॉर्मेट में वापस करना चाहता हूं, फिर echo $my_json_variableक्लाइंट को उस json स्ट्रिंग का लाभ लेने के लिए PHP कमांड का उपयोग करें।
तो जैसा कि आप देख सकते हैं, मेरा एपीआई जोंस डेटा लौटाता है, लेकिन आपको यह जानने की जरूरत है (या यह पता लगाने के लिए लौटाए गए डेटा को देखें) कि एपीआई की प्रतिक्रिया किस प्रारूप में है।
यह है कि मैं क्लाइंट की तरफ से एपीआई से कैसे जुड़ूं:
$processed = FALSE;
$ERROR_MESSAGE = '';
// ************* Call API:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.myapi.com/api.php?format=json&action=subscribe&email=" . $email_to_subscribe);
curl_setopt($ch, CURLOPT_POST, 1);// set post data to true
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=myname&password=mypass"); // post data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = curl_exec($ch);
curl_close ($ch);
// returned json string will look like this: {"code":1,"data":"OK"}
// "code" may contain an error code and "data" may contain error string instead of "OK"
$obj = json_decode($json);
if ($obj->{'code'} == '1')
{
$processed = TRUE;
}else{
$ERROR_MESSAGE = $obj->{'data'};
}
...
if (!$processed && $ERROR_MESSAGE != '') {
echo $ERROR_MESSAGE;
}
BTW, मैंने भी file_get_contents()विधि का उपयोग करने की कोशिश की क्योंकि यहाँ कुछ उपयोगकर्ताओं ने सुझाव दिया था, लेकिन यह मेरे लिए अच्छा काम नहीं करेगा। मुझे पता चला कि यह curlविधि तेज़ और अधिक विश्वसनीय होगी।