WooCommerce api身份验证错误oauth_consumer_key参数丢失

时间:2016-07-14 18:05:33

标签: json wordpress rest woocommerce woocommerce-rest-api

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

  

{“errors”[{“code”:“woocommerce_api_authentication_error”,“message”:“oauth_consumer_key参数丢失”}}}

我尝试过所有事情,但问题并没有解决。 Rest API已启用。

this type of error are shown

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

3 个答案:

答案 0 :(得分:1)

请注意,您需要在休息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或你正在构建的任何客户端,而不是专注于错误信息,因为它在大多数时候都是误导。 希望这可以帮助。 Cheerz, 大J

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Sandipa Mukherjee 的回答是正确的。

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

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

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