Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Node.js的wpapi创建新的WordPress帖子?_Javascript_Node.js_Wordpress_Rest_Api - Fatal编程技术网

Javascript 如何使用Node.js的wpapi创建新的WordPress帖子?

Javascript 如何使用Node.js的wpapi创建新的WordPress帖子?,javascript,node.js,wordpress,rest,api,Javascript,Node.js,Wordpress,Rest,Api,我尝试使用wpapi模块在WordPress中创建帖子。没有错误,请求以200 Success结束,但请求正文为空对象,没有创建post var wp = new WPAPI({ endpoint: 'http://your-site.com/wp-json', username: 'someusername', password: 'password' }); wp.posts().create({ title: 'Your Post Title', conten

我尝试使用wpapi模块在WordPress中创建帖子。没有错误,请求以
200 Success
结束,但请求正文为空对象,没有创建post

var wp = new WPAPI({
   endpoint: 'http://your-site.com/wp-json',
   username: 'someusername',
   password: 'password'
});
wp.posts().create({
   title: 'Your Post Title',
   content: 'Your post content',
   status: 'publish'
}).then(function( response ) {
   console.log( response.id ); // This is undefined
})
这是为什么?我如何修复它?

就像我提到的,我通过使用应用程序密码插件修复了这个问题

如果您使用Duo身份验证,并且WP API rest客户端未能解析JSON响应(这确实是无效的),但它却以静默方式失败(他们有一个try-catch)

  • 安装插件
  • 可能创建一个新用户(例如用户名:wpapi)
  • 为该用户创建应用程序密码,然后在Node.js代码中使用:

    var wp = new WPAPI({ 
      endpoint: 'http://your-site.com/wp-json',
      username: 'wpapi',
      password: 'XXXX XXXX XXXX XXXX'
    });
    

  • 这将绕过Duo身份验证。

    您可以使用
    [Application password][1]
    插件解决此问题! 它用于验证RESTAPI和XML-RPC等API请求。它将绕过双因素身份验证,并帮助在不直接提供密码的情况下对用户进行身份验证。而是为每个应用程序生成一个唯一的密码,而不显示用户的主密码

    仅使用此代码

    var wp = new WPAPI({
       endpoint: 'http://your-site.com/wp-json',
       username: 'someusername',
       password: 'password'
    });