Problema con l'autenticazione API REST di WooCommerce - Soluzioni e errori comuni
Sto utilizzando Postman per testare le chiamate API REST in WooCommerce. Quando chiamo le API predefinite di WooCommerce, viene visualizzato il seguente errore:
{
"code": "woocommerce_rest_cannot_create",
"message": "Spiacente, non sei autorizzato a creare risorse.",
"data": {
"status": 401
}
}
L'errore sopra viene visualizzato quando utilizzo l'autenticazione Basic e il metodo POST dell'API per creare clienti.
Quando invece provo a chiamare l'API per visualizzare i prodotti con cURL:
http://example.com/wp-json/wc/v2/products
Utilizzando il metodo GET da Postman, viene visualizzato questo errore:
{
"code": "woocommerce_rest_cannot_view",
"message": "Spiacente, non puoi elencare le risorse.",
"data": {
"status": 401
}
}
Sarebbe fantastico se qualcuno potesse aiutarmi a risolvere questo problema. Grazie.

Anch'io ho riscontrato lo stesso problema, ho provato con Postman, PHP, NodeJs e tutto il resto, ho passato quasi 2 giorni senza ottenere risultati. Alla fine ho iniziato a ricevere risposte dopo aver aggiunto uno slash alla fine dell'URL.
Voglio dire,
Inizialmente stavo usando https://example.com/wp-json/wc/v3/products?consumer_key=ck_XXXX&consumer_secret=cs_XXXX ma l'ho cambiato in questo modo https://example.com/wp-json/wc/v3/products/?consumer_key=ck_XXXX&consumer_secret=cs_XXXX (ho semplicemente aggiunto uno slash prima del punto interrogativo all'inizio della query string).
In Postman, anche senza impostare alcuna configurazione di autorizzazione (Tipo = No Auth), ho iniziato a ricevere risposte.
Potrebbe essere in qualche modo correlato al mio file .htaccess, ma ho pensato che potesse essere utile condividere questa soluzione anche qui.

Assicurati di aver concesso i permessi di Lettura/Scrittura all'utente e verifica anche il file .htaccess. Prova a incollare questo codice nel tuo .htaccess e controlla di nuovo
# BEGIN WordPress
# Le direttive (righe) tra `BEGIN WordPress` e `END WordPress` sono
# generate dinamicamente e dovrebbero essere modificate solo tramite i filtri di WordPress.
# Qualsiasi modifica alle direttive tra questi marcatori verrà sovrascritta.
<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
