API нужно, чтобы я использовал HTTP-заголовок для аутентификации каждого запроса POST.Но я получаю «не аутентифицировать» как ответ на каждый раз.(Пожалуйста, помогите мне, это моя первая сделка с REST API). Я предоставил документацию, в которой мне было сказано:
- Объединить все элементы ++++
- Хешируйте его с помощью HMAC-SHA1 и секретного ключа.
- Кодируйте код терминала и подпись в формате base64.
- Объедините все со схемой, кодом терминала и подписью и назначьте для авторизации
Подключить сервер с авторизацией
function callAPI($method,$url,$data,$dt,$auth){
$curl = curl_init();
switch ($method){
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// OPTIONS:
curl_setopt($curl, CURLOPT_URL, $url);
//Set the all the data inside the header
$header = array();
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: '.$auth;
$header[] = 'Date-Time: '.$dt;
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($curl, CURLOPT_TIMEOUT,20);
curl_setopt($curl, CURLOPT_HTTPHEADER,$header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// EXECUTE:
$result = curl_exec($curl);
if(!$result){die("Connection Failure");}
print_r($result);
curl_close($curl);
}