我正在尝试使用api v2创建新用户,但我正在
{
"code": "rest_cannot_create_user",
"message": "Sorry, you are not allowed to create new users.",
"data": {
"status": 401
}
}
据我了解,这是由于未向请求发送 Nonce 标头。但我无法弄清楚如何获得Nonce id。
答案 0 :(得分:1)
使用此插件 https://wordpress.org/plugins/json-api-user/
并使用此终点来获取nonce ?http://localhost/的 API / get_nonce /控制器=用户安培;方法=注册强>
然后让我知道结果。 感谢
答案 1 :(得分:0)
答案 2 :(得分:0)
由于该帖子来自2018年,所以我想写一篇简短的更新,介绍您目前有什么可能性。
JSON API User插件仍然是一个东西,可以很好地实现此目的。
我为某些客户使用的第二个解决方案是WP Webhooks-基本上是扩展的Webhook功能,还允许您在网站上创建用户。
或者,我结合使用Zapier和一些代码片段来推送数据。 我是通过设置一个json构造并通过Zapier通过POST将其发送到我的网站来实现的。
答案 3 :(得分:0)
如果你在 WP 中工作,你可以创建一个 nonce,然后在请求中发送它
wp_create_nonce('wp_rest');
这个 nonce 可以转换为 js,只需使用一些由 '' 折叠的
const nonce = '<?php echo wp_create_nonce( 'wp_rest' ); ?>'
发送请求:
fetch("https://your.website.com/wp-json/wp/v2/users", {
method: "post",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'authorization' : `Basic ${Your_encoded-bit64-username-password}`,
'X-WP-Nonce': `${nonce}`
},
//make sure to serialize your JSON body
body: JSON.stringify({your_user_data})})
.then(res=>res.json())
.then(res=>console.log(res))
.catch(err=>console.log(err))