You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress REST API发布文章失败:提示无创建权限求助

排查WordPress REST API创建文章401权限错误

核心排查点

1. 确认Basic Auth认证配置正确

WordPress应用密码必须通过Basic Authentication方式携带到请求头中,操作步骤:

  • 将你的WordPress用户名和生成的应用密码拼接为 用户名:应用密码 格式的字符串(注意保留应用密码里的空格,比如myuser:abc1 def2 ghi3 jkl4)
  • 对该字符串进行Base64编码(Postman可直接在请求头的Authorization选项中选择Basic Auth,输入用户名和应用密码,自动生成编码后的头)
  • 确保请求头包含:
Authorization: Basic [Base64编码后的字符串]
Content-Type: application/json

2. 验证用户角色的实际权限

  • 修改用户角色后,需退出并重新登录WordPress后台,确认该用户角色确实拥有创建文章的权限:
    • 创作者(Author):默认拥有创建草稿文章的权限
    • 编辑者(Editor):默认拥有创建、发布文章的权限
  • 若为多站点环境,需确保该用户是当前站点的成员,而非仅网络管理员(网络管理员默认不自动拥有单站点的文章操作权限)

3. 排查插件/主题的干扰

  • 临时禁用所有插件,切换到WordPress默认主题(如Twenty Twenty-Four),重新测试请求,确认是否有插件(如安全插件、REST API限制插件)修改了权限规则
  • 检查主题的functions.php文件,是否有自定义代码修改了REST API的权限回调(比如add_filter('rest_posts_collection_params', ...)或类似钩子)

4. 确认请求端点和格式正确

  • 确保请求端点为 https://domain.name/wp-json/wp/v2/posts(末尾斜杠不影响,但建议保持规范)
  • 请求体需为标准JSON格式,且Postman中已选择raw -> JSON类型(自动添加Content-Type: application/json头)
    你的请求体格式是正确的:
{
    "status": "draft",
    "title": "TEST",
    "content": "TEST CONTENT"
}

5. 检查SSL与代理设置

  • 若站点启用HTTPS,确认Postman的Settings -> General中SSL certificate verification为开启状态,否则可能导致认证头被丢弃
  • 若使用代理,确保代理服务器正确传递Authorization请求头

错误返回参考

你收到的错误信息明确指向权限认证问题:

{
    "code": "rest_cannot_create",
    "message": "Sorry, you are not allowed to create posts as this user.",
    "data": {
        "status": 401
    }
}

内容的提问来源于stack exchange,提问作者matisportowiec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:20:34