Konsumen tidak berwenang mengakses% sumber daya untuk API sisanya Magento2


9

Saya membuat pelanggan baru dan mendapatkan token dengan sempurna tetapi ketika saya mencoba mengakses API apa pun seperti

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

mendapat kesalahan

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

mohon bantuan

Jawaban:


10

Token Otorisasi TIDAK ditempatkan pada parameter. Seharusnya diatur pada header saja. Berikut ini adalah contoh di POSTMAN:

masukkan deskripsi gambar di sini

Di CURL, itu akan menjadi:

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

Terima kasih atas balasan Anda, sudah saya coba pada header atau sebagai parameter dalam url dan berfungsi dengan baik untuk beberapa api seperti yang productsAnda lakukan dan categories, tetapi untuk beberapa API seperti V1/customers/me, saya mendapat kesalahan. Bahkan jika saya menjalankan keriting pada terminal, ia bekerja dengan sempurna. Saya menggunakan tukang pos dan pemohon http untuk firefox.
Jsparo30

Tidak ada masalah di situs pengujian saya. Apakah Anda memiliki ruang antara "Pembawa" dan token? Dan mungkin token Anda sudah kadaluarsa, cobalah untuk mendapatkan yang baru
PY Yick

HHH, Apa itu lelucon !! tidak ada ruang dan bekerja dengan baik di productsdan categoriesseperti yang saya sebutkan, tetapi ketika dihapus itu customers/mebekerja dengan baik. Harap edit jawaban dan tambahkan bagian ruang hapus untuk memberikan jawaban yang sebenarnya. Terima kasih.
Jsparo30

Sebenarnya token itu lebih mungkin kedaluwarsa. Saya menggunakan token lama untuk mengakses API, itu menunjukkan kesalahan yang sama yang Anda nyatakan pada pertanyaan. Cukup perbarui token dan masalah terpecahkan.
PY Yick

@ Jsparo30 apakah Anda menemukan solusi saya juga menghadapi masalah yang sama
Janarthanan Ramu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.