1

我尝试从 WooCommerce API 获取 json 中的所有产品数据列表并输入地址栏http://www.batata.in/wc-api/v3/orders。但它给出了一个错误:

{"errors"[{"code":"woocommerce_api_authentication_error","message":"oauth_consumer_key 参数丢失"}]}

我尝试了所有方法,但问题没有解决。休息 API 已开启。

显示此类错误

如果有人知道从 WooCommerce WordPress 插件中以 json 格式查找产品列表的任何其他方法,请告诉我。

4

3 回答 3

2

我遇到了同样的问题。经过一番研究,我已经解决了这个问题。请检查您的网站是否安全 [http 或 https]。我错过了 http 的“s”。

于 2020-09-02T02:35:00.107 回答
1

请注意,您需要在您的 REST API 调用中提供使用者密钥、随机数、签名。以下是对我有用的格式。

http://SomeURL.com/wc-api/v2/orders?oauth_consumer_key=########&oauth_timestamp=######&oauth_nonce=#############&oauth_signature_method =HMAC-SHA256&oauth_signature=#########################

为了生成随机数和签名,我建议您使用一些可用于您的平台的包装器。我使用了 php,所以这里有一个不错的库。

https://github.com/woocommerce/wc-api-php

重要提示: - 即使按照上述所有步骤正确,我也遇到了同样的问题。它不断给我错误“oauth_consumer_key 参数丢失”,这实际上具有误导性。我发现的问题是基本的http auth。我进行了 http 身份验证,因此我用来触发的 curl 请求返回 401 未经授权。如果您使用的是 php,您将理解以下行。

curl_setopt($this->ch, CURLOPT_USERPWD, "USERNAME:PASSWORD");

它奏效了。所以这里的重点是你可以试试这个或者玩弄你的 curl/socket 或者你正在构建的任何客户端,不要专注于错误消息,因为它在大多数时候会误导。希望这可以帮助。欢呼,大 J

于 2017-03-16T03:32:58.257 回答
0

Sandipa Mukherjee 的回答是正确的。

对于 http:// 额外的 oauth 参数是必需的,因为它不安全。

我的建议是为 wordpress 使用 https:// 服务器。

请参考https://scriptstown.com/how-to-setup-cloudflare-ssl-and-configure-origin-certificate-for-apache/

于 2021-01-13T06:24:16.027 回答