Вызов методов АПИ » История » Редакция 3
Редакция 2 (Артем, 24.11.2017 15:33) → Редакция 3/5 (Артем, 24.11.2017 15:40)
h1. Вызов методов АПИ h2. С использованием функции file_get_contents <pre><code class="php"> <?php define ("apiKey","АПИ КЛЮЧ"); define ("apiClientId","ВАШ_ID_КЛИЕНТА"); define ("apiDomainName","ИМЯ_ДОМЕНА"); define ("apiRequestUrl","https://api.ilcats.ru/"); define ("apiExamlpeBrandName","audi"); define ("apiCurrentVersion","2.0"); function generateRequestURI ($uriParameters) { $paramsArray = array(); foreach ($uriParameters as $key => $val) $paramsArray[] = $key . "=" . $val; $requestString = implode("&",$paramsArray); return $requestString; }; function getApiData getApiDataFGC ($apiRequestUrl, $functionParameters, $clientParameters){ // Запрос данных с помощю функции file_get_contens(); $requestParameters = array_merge($functionParameters, $clientParameters); // объединяем массивы параметров вызова и параметров клиента API $requestString = generateRequestURI($requestParameters); //генерируем строку вызова $dataString = file_get_contents($apiRequestUrl . "?" . $requestString); return ($dataString); }; $functionParameters= array( // Список параметров вызова "function" => "defaultFunction", // Запрос функции по умолчанию "brand" => apiExamlpeBrandName // название бренда ); $clientParameters = array( "apiKey" => apiKey, "clientId" => apiClientId, "domain" => apiDomainName, "apiVersion" => apiCurrentVersion ); $apiRequestUrl = apiRequestUrl; $st = getApiData($apiRequestUrl, getApiDataFGC($apiRequestUrl, $functionParameters, $clientParameters); header('Content-Type: application/json'); header('Access-Control-Allow-Origin: *'); echo $st; ?> </code></pre> h2. С использованием функции cURL <pre><code class="php"> define ("apiKey","АПИ КЛЮЧ"); define ("apiClientId","ВАШ_ID_КЛИЕНТА"); define ("apiDomainName","ИМЯ_ДОМЕНА"); define ("apiRequestUrl","https://api.ilcats.ru/"); define ("apiExamlpeBrandName","audi"); define ("apiCurrentVersion","2.0"); function generateRequestURI ($uriParameters) { $paramsArray = array(); foreach ($uriParameters as $key => $val) $paramsArray[] = $key . "=" . $val; $requestString = implode("&",$paramsArray); return $requestString; }; function getApiData getApiDataCURL ($apiRequestUrl, $functionParameters, $clientParameters){ // Запрос данных с помощю функции cURL; $requestParameters = array_merge($functionParameters, $clientParameters); // объединяем массивы параметров вызова и параметров клиента API $requestString = generateRequestURI($requestParameters); //генерируем строку вызова $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiRequestUrl . "?" . $requestString); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); return ($output); }; $functionParameters= array( // Список параметров вызова "function" => "defaultFunction", // Запрос функции по умолчанию "brand" => apiExamlpeBrandName // название бренда ); $clientParameters = array( "apiKey" => apiKey, "clientId" => apiClientId, "domain" => apiDomainName, "apiVersion" => apiCurrentVersion ); $apiRequestUrl = apiRequestUrl; $st = getApiData($apiRequestUrl, getApiDataCURL($apiRequestUrl, $functionParameters, $clientParameters); header('Content-Type: application/json'); header('Access-Control-Allow-Origin: *'); echo $st; </code></pre>