Потребитель не авторизован для доступа к% ресурсов для Magento2 rest API

9

Я создал нового клиента и отлично получил токен, но когда я пытаюсь получить доступ к любому API, например

http://myhost.com/index.php/rest/V1/customers/me?Authorization=Bearerhy23vc01x9s1jd2t8gho47g58trllc0b 

получил ошибку

<?xml version="1.0"?>
<response>
<message>Consumer is not authorized to access %resources</message>
<parameters>
<resources>self</resources>
</parameters>
  <trace>#0 /var/www/myhost.com/public_html/vendor/magento/module-webapi/Controller/Rest/RequestValidator.php(70): Magento\Webapi\Controller\Rest\RequestValidator-&gt;checkPermissions()
#1 /var/www/myhost.com/public_html/vendor/magento/module-webapi/Controller/Rest/InputParamsResolver.php(80): Magento\Webapi\Controller\Rest\RequestValidator-&gt;validate()
#2 /var/www/myhost.com/public_html/vendor/magento/module-webapi/Controller/Rest.php(299): Magento\Webapi\Controller\Rest\InputParamsResolver-&gt;resolve()
#3 /var/www/myhost.com/public_html/vendor/magento/module-webapi/Controller/Rest.php(216): Magento\Webapi\Controller\Rest-&gt;processApiRequest()
#4 /var/www/myhost.com/public_html/var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(24): Magento\Webapi\Controller\Rest-&gt;dispatch(Object(Magento\Framework\App\Request\Http))
#5 /var/www/myhost.com/public_html/vendor/magento/framework/App/Http.php(135): Magento\Webapi\Controller\Rest\Interceptor-&gt;dispatch(Object(Magento\Framework\App\Request\Http))
#6 /var/www/myhost.com/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http-&gt;launch()
#7 /var/www/myhost.com/public_html/index.php(39): Magento\Framework\App\Bootstrap-&gt;run(Object(Magento\Framework\App\Http))
#8 {main}</trace>
</response>

пожалуйста, любая помощь

Jsparo30
источник

Ответы:

10

Токен авторизации НЕ размещается в параметре. Должно быть установлено вместо заголовка. Вот пример на POSTMAN:

введите описание изображения здесь

На cURL это будет:

curl -X GET --header "Accept: application/json" --header "Authorization: Bearer XXXXXXXXXX" "http://yoursite.com/rest/V1/products/:sku"
PY Yick
источник
Спасибо за ваш ответ, я уже пробовал это в заголовках или в качестве параметров в URL и отлично работает для некоторых API, productsкак вы и categories, но для некоторых API, например V1/customers/me, я получил ошибку. Даже если я запускаю curl на терминале, он работает отлично. Я использую почтальон и http-запросчик для Firefox.
Jsparo30
Нет проблем на моем сайте тестирования. У вас был пробел между «Носителем» и жетоном? И, возможно, срок действия вашего токена истек, попробуйте получить новый
PY Yick
ХХХ, что за шутка !! там не было места и он работал нормально, productsи, categoriesкак я уже говорил, но когда его убрали, он customers/meработал нормально. Пожалуйста, отредактируйте ответ и добавьте часть удаляемого пространства, чтобы дать ему правильный ответ. Спасибо.
Jsparo30
На самом деле это скорее всего токен истек. Я использую старый токен для доступа к API, он показывает ту же ошибку, которую вы указали в вопросе. Просто обновите маркер и проблема решена.
PY Yick
@ Jsparo30 вы нашли решение, с которым я тоже сталкиваюсь
Джанартанан Раму