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

使用应用密码创建WordPress文章时遭遇401权限错误

解决WordPress.com站点REST API创建文章的401权限错误

你遇到的问题核心是WordPress.com托管站点的REST API认证规则和自托管WordPress完全不同——应用密码仅适用于自托管WordPress的基础认证,对WordPress.com官方API无效,必须使用其专属的OAuth 2.0认证机制。

具体修复步骤:

  1. 替换正确的API端点
    WordPress.com的wp/v2 API需要指定站点ID,不能直接用站点域名拼接。先通过以下请求获取你的站点ID:

    curl https://public-api.wordpress.com/rest/v1.1/sites/your-site-domain.com
    

    响应中的ID字段就是站点ID,之后创建文章的端点应为:
    https://public-api.wordpress.com/wp/v2/sites/{你的站点ID}/posts

  2. 切换到OAuth 2.0认证

    • 登录WordPress.com开发者控制台创建一个新应用,获取客户端ID和客户端密钥。
    • 引导用户授权你的应用,获取包含posts_write权限的访问令牌(授权流程需遵循WordPress.com的OAuth 2.0规范)。
    • 用Bearer令牌替换原有的Basic认证头,格式为:Authorization: Bearer {你的访问令牌}
  3. 修改后的代码示例

    const accessToken = '你的OAuth 2.0访问令牌';
    const siteId = '你的站点ID';
    
    const body = {
      title: 'new post',
      content: 'content',
      status: 'draft'
    };
    
    const resp = await fetch(`https://public-api.wordpress.com/wp/v2/sites/${siteId}/posts`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${accessToken}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(body)
    });
    const data = await resp.json();
    console.log(data);
    

额外注意事项

  • 确保授权时请求了posts_write权限,否则即使拿到令牌也无法创建文章。
  • 确认你的WordPress.com账号拥有站点的编辑或管理员权限,无权限的账号即使认证通过也会被拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:02:54