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