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

问题描述 投票:3回答:2

我是WordPress的新手,并且是第一次使用WooCommerce插件,并希望在我的Android应用程序中使用WooCommerce REST API。

我启用了REST API并创建了Consumer Key和Consumer secret。

现在,当我在浏览器中使用此url http://www.my-domain.com/wp-json/wc/v1/products/检查API是否正常工作时,我收到此错误:

{“code”:“woocommerce_rest_cannot_view”,“message”:“抱歉,您无法列出资源。”,“数据”:{“状态”:401}}

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

php android wordpress woocommerce-rest-api
2个回答
7
投票

对于“新”v2 API(不是“旧版v2”API):

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

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

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

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

https://website.tld/wp-json/wc/v1/products?consumer_key=[key]&consumer_secret=[secret]


1
投票

您正从服务器获得401响应。此响应表示您未获得该REST端点的授权。要使用woocommerce api,您需要在请求中包含您的授权。

这里有一些例子和文档:http://woocommerce.github.io/woocommerce-rest-api-docs/#authentication

woocommerce示例不包含Java示例。 (我假设你正在使用Android应用程序)。但是,有一个第三方java库用于woocommerce。它可以在这里找到:https://github.com/icoderman/wc-api-java

我没有亲自使用该库,但它应该包含授权和正确请求来自woocommerce api的数据所需的所有功能。

© www.soinside.com 2019 - 2024. All rights reserved.