问题 在Wordpress中禁止提取草稿


我正在使用 wpapi npm模块与节点应用程序中的WP rest api连接。我通过身份验证,我的用户创建了一些草稿帖子。当我使用相同的凭据转到仪表板时,我也可以查看/编辑草稿帖子。

我正在使用此方法列出草稿:

wp.posts().auth().param( 'context', 'edit' ).param( 'status', 'draft' )

但我一直收到这个错误:

{ code: 'rest_invalid_param',
  message: 'Invalid parameter(s): status',
  data: { status: 400, params: { status: 'Status is forbidden.' } } }

这是我对这个问题和一些有用的背景进行评论的地方。

卷曲的反应 HTTP://本地主机:8000 / WP-JSON / WP / V2 /职位状态=草案 是相同的错误消息,所以我不相信问题是与节点模块。


2202
2018-06-30 06:53


起源



答案:


我是wpapi模块的作者,这个问题最终出现在我们的问题列表中 https://github.com/WP-API/node-wpapi/issues/325 并代表了我们在最新版本中修复过的错误。

查询草稿时需要进行身份验证,不提供身份验证可能导致此400错误;但是,如上面链接的问题所述,身份验证适用于一次性请求。为什么400?发生的事情是,在wpapi内部请求我们在分页时没有正确转发身份验证凭据,因此对第一页结果的请求将返回200,然后第二页将返回400,因为第二个请求缺少身份验证。我们通过在分页集合时总是传递身份验证凭据来解决这个问题,并希望这不会使其他任何人绊倒。

如果遇到400,则进行常规故障排除:

  • 你确定你已通过身份验证吗? (尝试点击/ users / me)
  • 您的用户是否具有查看草稿帖子所需的功能?

如果您发现这样的错误,我们欢迎您提出问题!


15
2017-07-11 13:08