首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自WooCommerce REST的“无法列出资源”错误

来自WooCommerce REST的“无法列出资源”错误
EN

Stack Overflow用户
提问于 2017-03-04 08:06:40
回答 3查看 29.7K关注 0票数 20

我对WordPres`非常陌生,第一次使用WooCommerce插件,并希望在我的安卓应用程序中使用WooCommerce REST。

我启用了REST,并创建了一个消费者密钥和一个消费者秘密。

现在,当我在浏览器中使用这个url http://www.my-domain.com/wp-json/wc/v1/products/来检查API是否工作时,我得到了以下错误:

{“代码”:“woocommerce_rest_cannot_view”,“消息”:“对不起,您不能列出资源。”,“数据”:{“状态”:401}}

我的服务器上没有安装SSL。我怎么才能解决这个问题?我需要使用PHP客户端库吗?

EN

回答 3

Stack Overflow用户

发布于 2018-07-06 12:36:47

认证方法

对于较新的API(而不是“遗留”API):

  • 对于安全连接(HTTPS),您需要使用“基本身份验证”。
  • 对于非安全连接(HTTP),您需要使用"oAuth1身份验证“。

如果您使用错误的身份验证与错误的连接,您将得到401响应消息。

这在WooCommerce API文档中有介绍:https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication-over-https

API登录用户名和密码(也是“消费密钥丢失”错误)

通常,您会将CK和CS作为标头字段传入其中,但根据服务器的配置方式,您可能会发现它不会正确地解析标头字段,因此,如果将CK和CS作为参数包含在URL中,您可能会获得成功:

secret=[secret]

Apache授权变量

如果使用FCGId,可能需要在Apacheif中填充授权变量。在您的.htaccess或站点部分中,添加以下内容:

代码语言:javascript
运行
复制
<IfModule mod_fcgid.c>
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

(https://fuelphp.com/forums/discussion/12825/rest-authentication-does-not-work-under-default-cgi-configurations-solution-within/p1)

票数 27
EN

Stack Overflow用户

发布于 2020-10-21 14:29:27

我需要将它添加到我的.htaccess文件中。

WooCommerce API所需:

代码语言:javascript
运行
复制
RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
票数 2
EN

Stack Overflow用户

发布于 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请求数据的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42593704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档