У меня установлен magento2.1 на моем сервере в папке magento2.Таким образом, базовый URL-адрес равен http://$domain/magento2/
. После этого я создал новую роль администратора и по разрешению нажал «Все». Затем я создал нового пользователя с именем пользователя, паролем и другими данными.Затем подключил нового пользователя к новой роли.
После этого я вызываю администратора / токен, передавая имя пользователя и пароль как
$apiURL="http://".$domain."/magento2/index.php/rest/V1/integration/admin/token";
//parameters passing with URL
$data = array("username" => "username", "password" => "!pass");
$data_string = json_encode($data);
$ch = curl_init($apiURL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string)));
print_r(curl_getinfo($ch));
$token = curl_exec($ch);
//decoding generated token and saving it in a variable
echo $token= json_decode($token,true);
Это дало токен, но при печати http_code оно дает 0Я тоже пробовал через Почтальон.
dadtaqm9b5bjqr6tk35hj8b6iy8a6hou //token
Затем я позвонил конечной точке customer / me
$token= trim($token);
//Using above token into header
$headers = array("Authorization: Bearer ".$token,"Accept:application/json");
//API URL to get all Magento 2 modules
$requestUrl='http://'.$domain.'/magento2/index.php/rest/V1/customers/me';
$ch = curl_init($requestUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//print_r(curl_getinfo($ch));
$result = curl_exec($ch);
//decoding result
$result= json_decode($result);
//printing result
print_r($result);
Это дало вывод как
stdClass Object ( [message] => Consumer is not authorized to access %resources [parameters] => stdClass Object ( [resources] => self ) )
Любое решение этогопроблема?