Eve Online ESI Curl Авторизация

Я пытаюсь использовать новый интерфейс Eve ESI, но при попытке аутентификации получаю следующее сообщение об ошибке:

HTTP/1.1 401 Unauthorized
Cache-Control: private
Server: Microsoft-IIS/8.5
Request-Context: appId=cid-v1:2ccf88f2-29b9-460a-bc15-7c0b79926f61
Date: Tue, 01 May 2018 00:24:50 GMT
Connection: close
Content-Length: 0

Вот мой код, использующий PHP / Curl:

<?php
$authcode = base64_encode("{my client ID}:{My Secret Key}");
$data = array("grant_type" => "authorization_code", "code" => "{code returned by the server}");
$data_string = json_encode($data);
$ch = curl_init("https://login.eveonline.com/oauth/token");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, array("Content-Type:application/json", "Authorization: Basic " . $authcode));

$result = curl_exec($ch);

print_r($result);

curl_close($ch);
?>

Есть идеи, что я делаю не так? Я внимательно следил за руководством пользователя.

Благодарю.

1

Решение

Попробуй это:

    //Request Headers payload
$headerData = array(
"Authorization:Basic " . base64_encode("{my client ID}:{My Secret Key}"),
"Content-Type:application/json",
'Host:login.eveonline.com'
)

//Request Body payload
$bodyData = array(
"grant_type" => "authorization_code",
"code" => "{code returned by the server}");

//Curl exec
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://login.eveonline.com/oauth/token");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerData);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($bodyData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

//Server response json decode & display
$result = json_decode($result, true);
print_r($result);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]