Я пытаюсь узнать, как использовать API-интерфейс остальной части woocommerce, я знаю, что он работает, потому что я получаю успешный ответ в браузере от
wp-json / wc / v3 /
Проблема возникает, когда я пытаюсь получить продукты или любой маршрут через клиентскую библиотеку, например:
const WooCommerce = new WooCommerceRestApi({
url: "http://127.0.0.1/wordpress",
consumerKey: "ck_1244aa98f0d30dc1cf077564e62dbf18cd516678",
consumerSecret: "cs_32a45e80e2f1f159ee7ded559cc618e9ac8ffbdb",
wpAPI: true,
version: "wc/v3",
});
router.get("/", function(req, res, next) {
WooCommerce.get("products")
.then(response => {
console.log(response.data);
res.status(200).json(response);
})
.catch(error => {
console.log(error.response.data);
res.status(400).json(error);
});
});
Итак, это сообщение об ошибке, которое я получаю
{
"message": "Request failed with status code 401",
"name": "Error",
"stack": "Error: Request failed with status code 401\n at createError (/home/micheln/Documentos/liderlogo/woocomerce-api/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/home/micheln/Documentos/liderlogo/woocomerce-api/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/home/micheln/Documentos/liderlogo/woocomerce-api/node_modules/axios/lib/adapters/http.js:236:11)\n at IncomingMessage.emit (events.js:203:15)\n at endReadableNT (_stream_readable.js:1145:12)\n at process._tickCallback (internal/process/next_tick.js:63:19)",
"config": {
"url": "http://127.0.0.1/wordpress/wp-json/wc/v3/products",
"method": "get",
"params": {
"oauth_consumer_key": "ck_1244aa98f0d30dc1cf077564e62dbf18cd516678",
"oauth_nonce": "b4MP4qyo4MyXEFcEf6v8y5pAVq5x9Rq1",
"oauth_signature_method": "HMAC-SHA256",
"oauth_timestamp": 1580829128,
"oauth_version": "1.0",
"oauth_signature": "/X3pgZA+o/w5cS8Y3JV6HCkkD+0Nuc4uovkIMq8IC1o="
},
"headers": {
"Accept": "application/json",
"User-Agent": "WooCommerce REST API - JS Client/1.0.1"
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"responseType": "json",
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"responseEncoding": "utf8"
}
}
Можно сказать, что я немного потерян здесь. В примерах, которые я видел, это работает отлично,
npm ссылка на библиотеку последней версии
-
ссылка на woocomerce docs остальные ключи API
-
ссылка на маршрут товаров в woocomerce api docs