我正在设法解决这个问题,但找不出答案。
我正在使用Woocommerce API开发一个WordPress插件,即尝试插入从外部JSON源读取的产品。所以当我试着打电话
$woocommerce->get( 'products', $data );我犯了一个致命的错误:
Fatal error: Uncaught Automattic\WooCommerce\HttpClient\HttpClientException: Error: Firma non valida - la firma fornita non corrisponde. [woocommerce_rest_authentication_error] in /Users/hal/Documents/www/wordpress/wp-content/plugins/.../vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php:324(StackTrace未在此报告,对查找其他信息没有帮助)。
报告的错误是401,关于这个最奇怪的事情是本地主机上相同的代码不能工作,如果我上传并在生产VPS上尝试相同的代码.它起作用了。搜索了很多关于这方面的主题,直到现在还没有明确的回复,所以很抱歉重复,如果是这样的话。
以前,$woocommerce的例子是:
$woocommerce = new Client(
'http://localhost/wordpress',
'ck_...', // Your consumer key
'cs_...', // Your consumer secret
[
'wp_api' => true, // Enable the WP REST API integration
'version' => 'wc/v2' // WooCommerce WP REST API version
]
);ck/cs对是从wordpress生成的,site url显然是http://localhost/wordpress (我尝试了但没有成功,比如http://localhost/wordpress等等)
如果这可能很重要(我想是的,...and),我尝试在MAMP上调试这段代码(Apacheon80port,mysql在3306上),运行@ localhost w/ basic安装,在MacOS塞拉利昂10.12.6上运行。
希望我很清楚,任何人都解决了这个问题,谢谢。
发布于 2017-10-17 06:29:08
如果您使用的是http请求,则必须使用oauth来获得rest的授权。
https://stackoverflow.com/questions/46412952
复制相似问题