Проект

Общее

Профиль

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