Вызов методов АПИ » История » Версия 1
Артем, 24.11.2017 15:32
| 1 | 1 | Артем | h1. Вызов методов АПИ |
|---|---|---|---|
| 2 | |||
| 3 | h2. С использованием функции file_get_contents |
||
| 4 | |||
| 5 | <pre><code class="php"> |
||
| 6 | <?php |
||
| 7 | define ("apiKey","АПИ КЛЮЧ"); |
||
| 8 | define ("apiClientId","ВАШ_ID_КЛИЕНТА"); |
||
| 9 | define ("apiDomainName","ИМЯ_ДОМЕНА"); |
||
| 10 | define ("apiRequestUrl","https://api.ilcats.ru/"); |
||
| 11 | define ("apiExamlpeBrandName","audi"); |
||
| 12 | define ("apiCurrentVersion","2.0"); |
||
| 13 | |||
| 14 | function generateRequestURI ($uriParameters) { |
||
| 15 | $paramsArray = array(); |
||
| 16 | foreach ($uriParameters as $key => $val) |
||
| 17 | $paramsArray[] = $key . "=" . $val; |
||
| 18 | $requestString = implode("&",$paramsArray); |
||
| 19 | return $requestString; |
||
| 20 | }; |
||
| 21 | |||
| 22 | function getApiDataFGC ($apiRequestUrl, $functionParameters, $clientParameters){ |
||
| 23 | // Запрос данных с помощю функции file_get_contens(); |
||
| 24 | |||
| 25 | $requestParameters = array_merge($functionParameters, $clientParameters); // объединяем массивы параметров вызова и параметров клиента API |
||
| 26 | $requestString = generateRequestURI($requestParameters); //генерируем строку вызова |
||
| 27 | $dataString = file_get_contents($apiRequestUrl . "?" . $requestString); |
||
| 28 | return ($dataString); |
||
| 29 | |||
| 30 | }; |
||
| 31 | |||
| 32 | $functionParameters= array( // Список параметров вызова |
||
| 33 | "function" => "defaultFunction", // Запрос функции по умолчанию |
||
| 34 | "brand" => apiExamlpeBrandName // название бренда |
||
| 35 | ); |
||
| 36 | |||
| 37 | $clientParameters = array( |
||
| 38 | "apiKey" => apiKey, |
||
| 39 | "clientId" => apiClientId, |
||
| 40 | "domain" => apiDomainName, |
||
| 41 | "apiVersion" => apiCurrentVersion |
||
| 42 | ); |
||
| 43 | |||
| 44 | $apiRequestUrl = apiRequestUrl; |
||
| 45 | |||
| 46 | $st = getApiDataFGC($apiRequestUrl, $functionParameters, $clientParameters); |
||
| 47 | |||
| 48 | header('Content-Type: application/json'); |
||
| 49 | header('Access-Control-Allow-Origin: *'); |
||
| 50 | echo $st; |
||
| 51 | |||
| 52 | ?> |
||
| 53 | </code></pre> |
||
| 54 | h2. С использованием функции cURL |
||
| 55 | |||
| 56 | <pre><code class="php"> |
||
| 57 | define ("apiKey","АПИ КЛЮЧ"); |
||
| 58 | define ("apiClientId","ВАШ_ID_КЛИЕНТА"); |
||
| 59 | define ("apiDomainName","ИМЯ_ДОМЕНА"); |
||
| 60 | define ("apiRequestUrl","https://api.ilcats.ru/"); |
||
| 61 | define ("apiExamlpeBrandName","audi"); |
||
| 62 | define ("apiCurrentVersion","2.0"); |
||
| 63 | |||
| 64 | function generateRequestURI ($uriParameters) { |
||
| 65 | $paramsArray = array(); |
||
| 66 | foreach ($uriParameters as $key => $val) |
||
| 67 | $paramsArray[] = $key . "=" . $val; |
||
| 68 | $requestString = implode("&",$paramsArray); |
||
| 69 | return $requestString; |
||
| 70 | }; |
||
| 71 | |||
| 72 | function getApiDataCURL ($apiRequestUrl, $functionParameters, $clientParameters){ |
||
| 73 | // Запрос данных с помощю функции cURL; |
||
| 74 | |||
| 75 | $requestParameters = array_merge($functionParameters, $clientParameters); // объединяем массивы параметров вызова и параметров клиента API |
||
| 76 | $requestString = generateRequestURI($requestParameters); //генерируем строку вызова |
||
| 77 | |||
| 78 | |||
| 79 | $ch = curl_init(); |
||
| 80 | curl_setopt($ch, CURLOPT_URL, $apiRequestUrl . "?" . $requestString); |
||
| 81 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
||
| 82 | $output = curl_exec($ch); |
||
| 83 | curl_close($ch); |
||
| 84 | |||
| 85 | |||
| 86 | return ($output); |
||
| 87 | |||
| 88 | }; |
||
| 89 | |||
| 90 | $functionParameters= array( // Список параметров вызова |
||
| 91 | "function" => "defaultFunction", // Запрос функции по умолчанию |
||
| 92 | "brand" => apiExamlpeBrandName // название бренда |
||
| 93 | ); |
||
| 94 | |||
| 95 | $clientParameters = array( |
||
| 96 | "apiKey" => apiKey, |
||
| 97 | "clientId" => apiClientId, |
||
| 98 | "domain" => apiDomainName, |
||
| 99 | "apiVersion" => apiCurrentVersion |
||
| 100 | ); |
||
| 101 | |||
| 102 | $apiRequestUrl = apiRequestUrl; |
||
| 103 | |||
| 104 | $st = getApiDataCURL($apiRequestUrl, $functionParameters, $clientParameters); |
||
| 105 | |||
| 106 | header('Content-Type: application/json'); |
||
| 107 | header('Access-Control-Allow-Origin: *'); |
||
| 108 | echo $st; |
||
| 109 | </code></pre> |