wordpress - 无法使用 woocommerce API 创建 webhook
问题描述
首先,我创建一个具有 read_write 权限的 API 使用者密钥和秘密。(从 UI 手动或使用 API 以编程方式)
然后,我使用consumer_key
andconsumer_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_key
并调用成功。consumer_secret
wp_authenticate_username_password
正在调用..
解决方案
我发现了这个问题。您必须使用 HTTPS。这使得在本地环境中进行测试变得困难。
推荐阅读
- angular - Angular 7嵌套延迟加载问题
- powerbi - Dax 查询 - 运行总计%
- python - 字典:对象作为值不起作用
- android - 将导航组件与多个活动一起使用
- php - 上传图像时出错 PHP Fileinfo 扩展必须安装/启用才能使用干预图像
- java - 请求被拒绝,因为没有找到多部分边界 angular+spring
- shopware - 致命错误:未捕获的 PDOException:SQLSTATE [42S22]:找不到列:1054 中的“字段列表”中的未知列“swag_advanced_cart_cookie_name_hash”
- node.js - 我一直在尝试将我的节点连接到 MongoDB,但我遇到了错误
- javascript - Moodle 页面包含的 js 文件仍然显示 ReferenceError: wordfindgame is not defined
- c# - 如何从ini文件中获取所有部分名称