Probleme cu autentificarea API REST în WooCommerce - Soluții

6 nov. 2017, 08:12:18
Vizualizări: 14.4K
Voturi: 4

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.

1
Comentarii

Folosește autentificarea HTTPS în Postman, în loc să utilizezi oAuth1.0 ca opțiuni de autentificare. Utilizează autentificarea Basic și transmite cheia consumatorului ca nume de utilizator. Parola ar trebui să fie secretul consumatorului.

LumberHack LumberHack
6 nov. 2017 13:55:25
Toate răspunsurile la întrebare 5
0

Am găsit soluția pentru aceasta. Folosește Autentificarea Basic din Postman.

Mulțumesc

23 iun. 2018 05:23:56
0

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.

4 aug. 2021 10:52:06
0

Pentru mine, a fost o problemă de autentificare.

Foloseam Basic auth în Postman

Pur și simplu selectează OAuth 1.0 ca tip de autentificare și introdu cheia consumer și cea secretă în câmpurile corespunzătoare

Captură de ecran:

postman-woocommerce-API

7 apr. 2022 14:52:47
0
-1

dacă folosești autentificare basic, asigură-te că Apache returnează header-ul de autorizare, în fișierul tău http.conf adaugă această linie SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

27 iul. 2019 22:23:00
1
-1

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
27 iul. 2020 13:22:46
Comentarii

Te rog să [editezi] răspunsul tău și să adaugi o explicație: de ce ar putea aceasta rezolva problema?

fuxia fuxia
27 iul. 2020 21:39:30