Проект

Общее

Профиль

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