Probleme cu autentificarea API REST în WooCommerce - Soluții
Folosesc Postman pentru a testa apelurile către API-ul REST în WooCommerce. Când apelez la API-ul implicit al WooCommerce, primesc următoarea eroare:
{
"code": "woocommerce_rest_cannot_create",
"message": "Ne pare rău, nu ai permisiunea să creezi resurse.",
"data": {
"status": 401
}
}
Această eroare apare când folosesc Autentificarea Basic și metoda POST pentru API-ul de Creare Clienți.
Când încerc să apelez API-ul pentru Afișare Produse folosind cURL:
http://example.com/wp-json/wc/v2/products
Folosind metoda GET din Postman, primesc următoarea eroare:
{
"code": "woocommerce_rest_cannot_view",
"message": "Ne pare rău, nu ai permisiunea să listezi resurse.",
"data": {
"status": 401
}
}
Aș fi recunoscător dacă cineva m-ar putea ajuta să rezolv această problemă. Mulțumesc.

Am întâmpinat aceeași problemă, am încercat în Postman, PHP, NodeJs, aproape două zile fără rezultat, dar am reușit să obțin răspuns după ce am adăugat o bară oblică la sfârșitul URL-ului.
Adică,
Inițial foloseam https://example.com/wp-json/wc/v3/products?consumer_key=ck_XXXX&consumer_secret=cs_XXXX dar am schimbat în felul următor https://example.com/wp-json/wc/v3/products/?consumer_key=ck_XXXX&consumer_secret=cs_XXXX (Pur și simplu am adăugat o bară oblică înainte de semnul întrebării la începutul șirului de interogare).
În Postman, chiar fără a seta nicio autorizare (Tip = Fără Autentificare), am început să primesc răspunsuri.
Este posibil să fie legat cumva de fișierul meu .htaccess, dar am considerat util să împărtășesc această soluție și aici.

Asigurați-vă că ați acordat utilizatorului drepturi de Citire/Scriere și verificați și fișierul .htaccess. Încercați să lipiți acest cod în fișierul .htaccess și verificați din nou:
# BEGIN WordPress
# Directivele (liniile) dintre `BEGIN WordPress` și `END WordPress` sunt
# generate dinamic și ar trebui modificate doar prin filtrele WordPress.
# Orice modificare adusă directivelor dintre aceste marcaje va fi suprascrisă.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
