我试图为这个问题找到解决办法,但无法找到答案。
我正在使用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 ,关于这个最奇怪的事情是localhost上的相同代码不起作用,如果我上传&在生产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生成,网站网址显然是http://localhost/wordpress(我尝试没有成功,即http://localhost/wordpress / ,http s :// localhost / wordpress等等)
如果这可能很重要(......我猜是的),我试图在Mac OS Sierra上运行基本安装的@ localhost上的MAMP(80端口上的apache,3306上的mysql)上调试此代码10.12.6。
希望我很清楚,任何人都可以解决这个问题,提前谢谢
答案 0 :(得分:0)
如果您正在使用http请求,则必须使用oauth来授权rest api