WooCommerce REST API身份验证问题

时间:2017-11-06 作者:Mr. Ajay

我正在使用postman检查WooCommerce中的REST API调用。当我调用Woocommerce默认API时。它显示错误,如。

{
"code": "woocommerce_rest_cannot_create",
"message": "Sorry, you are not allowed to create resources.",
"data": {
    "status": 401
   }
}
创建客户API的基本身份验证和POST方法时显示上述错误。

当我试图用cURL调用Display products API时

http://example.com/wp-json/wc/v2/products
使用postman的GET方法,它将显示以下错误。

{
"code": "woocommerce_rest_cannot_view",
"message": "Sorry, you cannot list resources.",
"data": {
    "status": 401
   }
}
如果有人能把我从头痛中解救出来,那就太好了。谢谢

4 个回复
最合适的回答,由SO网友:Mr. Ajay 整理而成

我找到了解决办法。使用邮递员的基本身份验证。

谢谢

SO网友:Josmy Jose

我也遇到了同样的问题,我尝试了Postman、PHP、NodeJs,几乎花了2天时间,但没有输出,最后在URL末尾加了一个斜杠后,开始得到响应,

我是说,

最初我使用https://example.com/wp-json/wc/v3/products?consumer_key=ck_XXXX&consumer_secret=cs_XXXX但把它改成这样https://example.com/wp-json/wc/v3/products/?consumer_key=ck_XXXX&consumer_secret=cs_XXXX (只需在查询字符串开头的问号前加一个斜杠)。

在Postman中,即使没有设置任何授权设置(Type=No Auth),我也开始收到响应。

这可能与我的。htaccess,但我觉得如果我也在这里发布这个解决方案会很好。

SO网友:Rafael Guimarães

如果您使用的是basic auth,请确保apache在您的http.conf 放这个SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

SO网友:sharma vnk

确保您已授予用户读/写权限,并检查。htaccess。尝试将此代码粘贴到中。htaccess并再次检查

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<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

结束