Споживач не має права доступу до ресурсів% для API відпочинку Magento2


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>

будь-яка допомога

Відповіді:


10

Маркер авторизації НЕ розміщується в параметрі. Потрібно встановити замість заголовка. Ось приклад на POSTMAN:

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

На CURL це буде:

curl -X GET --header "Accept: application/json" --header "Authorization: Bearer XXXXXXXXXX" "http://yoursite.com/rest/V1/products/:sku"

Дякуємо за вашу відповідь, я вже спробував це на заголовках або як параметри в URL-адресі і прекрасно працює для деяких api, як, productsяк ви categories, але для деяких API, таких як V1/customers/me, я отримав помилку. Навіть якщо я запускаю локон на терміналі, він працює чудово. Для Firefox я використовую поштальона та http-риквестера.
Jsparo30

На моєму сайті тестування немає проблем. Чи був у вас пробіл між "Носієм" та маркером? І можливо, ваш маркер закінчився, спробуйте отримати новий
PY Yick

HHH, що таке жарт !! не було місця і добре працював у productsі, categoriesяк я вже згадував, але коли його вилучили, він customers/meпрацював чудово. Будь ласка, відредагуйте відповідь та додайте частину пробілу, щоб дати правдиву відповідь. Дякую.
Jsparo30

Насправді скоріше термін дії маркерів закінчився. Я використовую старий маркер для доступу до API, він показує ту саму помилку, яку ви вказали на запитання. Просто поновіть маркер і вирішену проблему.
PY Yick

@ Jsparo30 Ви знайшли рішення, я також стикаюся з тим же питанням
Janarthanan Ramu,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.