O consumidor não está autorizado a acessar% de recursos da API de descanso Magento2

9

Criei um novo cliente e recebi o token perfeitamente, mas quando tento acessar qualquer API como

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

entendi o erro

<?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>

por favor qualquer ajuda

Jsparo30
fonte

Respostas:

10

O token de autorização NÃO é colocado no parâmetro Deve ser definido no cabeçalho. Aqui está um exemplo no POSTMAN:

insira a descrição da imagem aqui

No cURL, será:

curl -X GET --header "Accept: application/json" --header "Authorization: Bearer XXXXXXXXXX" "http://yoursite.com/rest/V1/products/:sku"
PY Yick
fonte
Obrigado pela sua resposta, já tentei em cabeçalhos ou como parâmetros em url e funciona perfeitamente para algumas APIs como productsvocê e categories, mas para algumas APIs como V1/customers/me, recebi o erro. Mesmo se eu executar o curl no terminal, ele funcionará perfeitamente. Eu uso carteiro e solicitante http para o Firefox.
Jsparo30
Sem problemas no meu site de testes. Você tinha um espaço entre "Portador" e o token? E talvez seu token tenha expirado, tente obter um novo
PY Yick
HHH, o que é uma piada !! não havia espaço e funcionou bem productse categoriescomo mencionei, mas quando removido, customers/mefuncionou bem. Edite a resposta e adicione a parte do espaço para remover para obter a resposta verdadeira. Obrigado.
Jsparo30
Na verdade, é mais provável que o token tenha expirado. Eu uso o token antigo para acessar a API, ele mostra o mesmo erro que você declarou em questão. Apenas renove o token e o problema resolvido.
PY Yick
@ Jsparo30 fez você encontrou a solução eu também estou enfrentando mesmo problema
Janarthanan Ramu