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