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

使用WP REST API与Application Password创建文章时遇权限错误

解决WP REST API + Application Password创建文章的401权限错误

核心原因

返回的rest_cannot_create错误明确指向用户无创建文章的权限——即便使用了Application Password,也需要确保对应WordPress用户具备足够的文章操作权限。

具体解决步骤

  • 检查用户角色权限
    登录WordPress后台,找到生成凭证的用户veptuneapp:

    1. 查看该用户的角色(如作者、编辑、管理员),订阅者等低权限角色默认无发布/创建文章权限;
    2. 若角色权限不足,可修改用户角色为「作者」及以上,或通过代码给对应角色添加权限(测试后可移除):
      在主题functions.php中添加:
      function add_post_permissions_to_role() {
          $role = get_role('subscriber'); // 替换为目标角色
          $role->add_cap('edit_posts');
          $role->add_cap('publish_posts');
          $role->add_cap('create_posts');
      }
      add_action('init', 'add_post_permissions_to_role');
      
  • 验证Application Password有效性

    1. 确认curl命令中的APPLICATION_PASSWORD是完整复制的,无空格、换行或字符遗漏;
    2. 重新生成新的Application Password替换原凭证,避免旧凭证因重置或过期失效。
  • 排查插件拦截
    暂时禁用站点的安全插件(如Wordfence、iThemes Security)或缓存插件,测试是否是插件拦截了API请求;测试完成后再重新启用插件并调整对应规则。

  • 修正curl请求参数
    确保请求的JSON格式正确,可显式指定文章状态(默认可能因权限限制无法使用publish,先尝试draft):

    curl --user "veptuneapp:NEW_APPLICATION_PASSWORD" -X POST \
    -H "Content-Type: application/json" \
    -i https://www.example.com/wp-json/wp/v2/posts \
    -d '{"title": "foo bar", "content": "test", "status": "draft"}'
    

内容的提问来源于stack exchange,提问作者Jean François Manatane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:48:27