Wordpress REST API用户注册

时间:2018-04-04 11:11:43

标签: wordpress wordpress-rest-api

我正在尝试使用api v2创建新用户,但我正在

{ "code": "rest_cannot_create_user", "message": "Sorry, you are not allowed to create new users.", "data": { "status": 401 } }

据我了解,这是由于未向请求发送 Nonce 标头。但我无法弄清楚如何获得Nonce id。

4 个答案:

答案 0 :(得分:1)

使用此插件 https://wordpress.org/plugins/json-api-user/

并使用此终点来获取nonce ?http://localhost/ API / get_nonce /控制器=用户安培;方法=注册

然后让我知道结果。 感谢

答案 1 :(得分:0)

正如他们在本期https://github.com/WP-API/WP-API/issues/2252中所说,他们不支持此功能。我必须为注册创建自定义端点和功能。

答案 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))