无法使用woocommerce API创建Webhook

时间:2019-02-05 18:09:24

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

首先,我创建一个具有read_write权限的API使用方密钥和机密。 (从UI手动或通过API编程)

然后,我使用consumer_keyconsumer_secret作为查询参数来使用API​​:例如,创建一个webhook。所以我做到了:

curl -X POST \
  'http://wp.mee/wordpress496/wp-json/wc/v3/webhooks?consumer_key=ck_7cc776be8d22b6841b0d62a96a50e975e7523343&consumer_secret=cs_7b788da4bf6063f8dff4b0463c1e9693fdee7a5b' \
  -H 'Content-Type: application/json' \
  -d '{"name":"ProWebSms","topic":"order.created","delivery_url":"https://dev.smshare.fr/api/v2/woo/webhooks/all/7235173095214b608914159bea2360eb"}'

我收到以下消息:

{"code":"woocommerce_rest_cannot_create","message":"Sorry, you are not allowed to create resources.","data":{"status":401}}

使用基本身份验证机制也会失败。我创建了一个test.php只是为了确保服务器没有剥离授权标头,并且我可以确认标头在那里。

<?php var_dump(apache_request_headers()); ?>

//i can see:
'Authorization'
'Basic Y2tfN2NjNzc2YmU4ZDIyYjY4NDFiMGQ2MmE5NmE1MGU5NzVlNzUyMzM0Mzpjc183Yjc4OGRhNGJmNjA2M2Y4ZGZmNGIwNDYzYzFlOTY5M2ZkZWU3YTVi'

都尝试过:

  • woocommerce版本3.3.5
  • wordpress版本:4.9.6

并且:

  • woocommerce版本3.5.4
  • wordpress版本:5.0.3

编辑

我注意到,如果我用管理员用户名/密码(例如:admin:admin)替换consumer_keyconsumer_secret,则呼叫成功。

正在调用wp_authenticate_username_password

1 个答案:

答案 0 :(得分:0)

我发现了问题。您必须使用HTTPS。 这使得在本地环境中进行测试变得困难。