mot*_*dev 11 wordpress wp-api wordpress-rest-api
我正在使用wpapi npm模块与节点应用程序中的WP rest api进行交互.我通过身份验证,我的用户创建了一些草稿帖子.当我使用相同的凭据进入仪表板时,我也可以查看/编辑草稿帖子.
我正在使用此方法列出草稿:
wp.posts().auth().param( 'context', 'edit' ).param( 'status', 'draft' )
Run Code Online (Sandbox Code Playgroud)
但我一直收到这个错误:
{ code: 'rest_invalid_param',
message: 'Invalid parameter(s): status',
data: { status: 400, params: { status: 'Status is forbidden.' } } }
Run Code Online (Sandbox Code Playgroud)
对http:// localhost:8000/wp-json/wp/v2/posts?status = draft的curl响应是相同的错误消息,所以我不相信问题出在节点模块上.
K. *_*dam 15
我是wpapi模块的作者,这个问题最终出现在我们的问题列表https://github.com/WP-API/node-wpapi/issues/325上,并代表了我们在最新版本中修复过的错误.
查询草稿时需要进行身份验证,不提供身份验证可能导致此400错误; 但是,如上面链接的问题所述,身份验证适用于一次性请求.为什么400?发生的事情是,在wpapi内部请求我们在分页时没有正确转发身份验证凭据,因此对第一页结果的请求将返回200,然后第二页将返回400,因为第二个请求缺少身份验证.我们通过在分页集合时总是传递身份验证凭据来解决这个问题,并希望这不会使其他人绊倒.
如果遇到400,则进行常规故障排除:
如果您发现这样的错误,我们欢迎您提出问题!
归档时间: |
|
查看次数: |
2038 次 |
最近记录: |