Вызов методов АПИ » История » Версия 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> |