Проект

Общее

Профиль

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