我对WordPres`非常陌生,第一次使用WooCommerce插件,并希望在我的安卓应用程序中使用WooCommerce REST。
我启用了REST,并创建了一个消费者密钥和一个消费者秘密。
现在,当我在浏览器中使用这个url http://www.my-domain.com/wp-json/wc/v1/products/
来检查API是否工作时,我得到了以下错误:
{“代码”:“woocommerce_rest_cannot_view”,“消息”:“对不起,您不能列出资源。”,“数据”:{“状态”:401}}
我的服务器上没有安装SSL。我怎么才能解决这个问题?我需要使用PHP客户端库吗?
发布于 2018-07-06 12:36:47
认证方法
对于较新的API(而不是“遗留”API):
如果您使用错误的身份验证与错误的连接,您将得到401响应消息。
这在WooCommerce API文档中有介绍:https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication-over-https。
API登录用户名和密码(也是“消费密钥丢失”错误)
通常,您会将CK和CS作为标头字段传入其中,但根据服务器的配置方式,您可能会发现它不会正确地解析标头字段,因此,如果将CK和CS作为参数包含在URL中,您可能会获得成功:
Apache授权变量
如果使用FCGId,可能需要在Apacheif中填充授权变量。在您的.htaccess或站点部分中,添加以下内容:
<IfModule mod_fcgid.c>
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
发布于 2020-10-21 14:29:27
我需要将它添加到我的.htaccess
文件中。
WooCommerce API所需:
RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
发布于 2017-03-05 06:49:19
您将从服务器获得401响应。此响应指示该REST端点未授权您。为了使用woocommerce api,您需要在请求中包含您的授权。
这里有示例和文档:http://woocommerce.github.io/woocommerce-rest-api-docs/#authentication
woocommerce示例不包括java示例。(我想这就是你在android应用程序中使用的东西)。然而,有一个面向woocommerce的第三方java库。它可以在这里找到:https://github.com/icoderman/wc-api-java
我没有亲自使用过这个库,但是它应该包含所有您需要授权和正确地从woocommerce api请求数据的函数。
https://stackoverflow.com/questions/42593704
复制相似问题