WooCommerce API v3身份验证问题

时间:2015-08-12 21:54:29

标签: api woocommerce woothemes

Woocommerce将API更新为版本3.现在我无法在api中查看或发布产品。

这是API文档:http://woothemes.github.io/woocommerce-rest-api-docs/#version

该文件说:

  

v3弃用了产品/ sku / endpoint(因为SKU可以   使用任何字符生成,除了有一个过滤器callend   过滤[SKU])。

虽然我不知道如何使用它。这是我的帖子,我得到了无效的密钥和身份验证问题。虽然我的客户密钥和秘密有效。从woocommerce复制和粘贴。这是我的帖子

/wc-api/v3/products/filter[E317948]?oauth_consumer_key=[]&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1439416145&oauth_nonce=KUlKZF&oauth_version=1.0&oauth_signature=LcF+sIxzuU8j83jXLziD+6K726E=

我做错了什么?

2 个答案:

答案 0 :(得分:6)

升级到v3后我遇到了类似的问题。我的api电话在v2上工作正常。我阅读了class-wc-api-authentication.php中的身份验证过程,发现差异是我需要在使用未签名的&之前将其添加到消费者机密中,然后才能使用它来签署我的参数字符串。

$secret = $consumer_secret . '&';
$signature = base64_encode( hash_hmac( $hash_algorithm, $string_to_sign, $secret, true ) );

答案 1 :(得分:0)

我解决了我的问题。

Woocommercer会使consumer_key失效,所以我唯一需要做的就是生成另一个密钥并将旧密钥更改为新密钥。