什么是 WordPress REST API?
WordPress REST API 是一个内置功能,允许像 FlowHunt 这样的外部应用与您的 WordPress 网站通信。它使您能够以编程方式创建、读取、更新和删除内容,是将 FlowHunt 集成到 WordPress 站点,实现自动化内容管理和聊天机器人功能的关键。
如何生成 WordPress 应用密码?
WordPress 应用密码为 API 请求提供了一种无需使用主登录凭证的安全认证方式:
- 登录您的 WordPress 管理后台
- 进入 用户 > 我的资料 或 用户 > 所有用户 并编辑您的用户
- 下拉找到 应用密码 部分
- 为您的应用输入一个名称(如“FlowHunt 集成”)
- 点击 添加新应用密码
- 立即复制生成的密码——此密码不会再次显示
- 进行 API 认证时,使用您的 WordPress 用户名和该应用密码
导致 WordPress API 集成错误的原因有哪些?
WordPress API 集成错误通常由以下常见问题引起:
认证问题
- 用户名或应用密码填写错误
- 用了常规 WordPress 密码而非应用密码
- 应用密码已过期或被撤销
服务器配置问题
- 主机商禁用了 WordPress REST API
- 安全插件拦截了 API 请求
- API 端点 URL 格式不正确
- 服务器端安全策略阻止了外部连接
共享主机限制
- 主机商为安全考虑默认禁用 REST API
- API 请求有速率限制
- 防火墙规则拦截了外部 API 调用
如何修复“API 凭证无效”错误?
当您在将 FlowHunt 连接至 WordPress 时遇到“API 凭证无效”错误,可按以下步骤进行排查:
步骤 1:核实 API 端点
- 确认您使用的是正确的 API 端点格式:
https://yoursite.com/wp-json/wp/v2/ - 用浏览器访问该端点——应该能看到 JSON 数据
- 确保您的站点 URL 正确且可访问
步骤 2:检查您的凭证
- 确认您填写的是 WordPress 用户名(不是邮箱)
- 确认使用的是应用密码,而非常规密码
- 如有需要,重新生成应用密码
- 复制凭证时确保无多余空格
步骤 3:确认 REST API 已启用
- 登录后访问
https://yoursite.com/wp-json/wp/v2/users/me - 若能看到用户数据,说明 API 正常
- 若报错,说明 REST API 可能被禁用
步骤 4:检查插件冲突
- 临时停用安全插件
- 再次测试 API 连接
- 若恢复正常,配置您的安全插件允许 API 访问
- 常见可能拦截 API 的插件有:Wordfence、Sucuri、iThemes Security
如何解决共享主机上的 API 问题?
共享主机商常有额外限制,可能导致 API 集成问题:
联系您的主机商
- 询问是否允许 WordPress REST API 请求
- 咨询是否有限流或其它安全措施
- 如 REST API 被禁用,要求开启
- 询问是否有防火墙规则阻止外部连接
替代认证方式
- 如应用密码无效,可尝试 Basic Authentication
- 部分共享主机更适合其它认证方式
- 如有可用,也可考虑使用 JWT 认证插件
检查主机控制面板
- 在主机控制面板查找 API 或安全相关设置
- 部分主机有 REST API 开关
- 查看是否有 IP 或域名被封锁
如何测试 WordPress API 连接?
验证您的 WordPress API 是否正常工作:
使用浏览器测试
- 访问
https://yoursite.com/wp-json/wp/v2/posts查看是否返回文章 - 检查
https://yoursite.com/wp-json/wp/v2/以查看 API 索引 - 用正确凭证测试需要认证的端点
使用命令行工具
curl -X GET "https://yoursite.com/wp-json/wp/v2/posts" \
-u "username:application_password"
常见 API 响应码
- 200:成功——API 正常
- 401:未授权——检查您的凭证
- 403:禁止访问——API 可能被禁用或拦截
- 404:未找到——检查端点 URL
如何配置安全插件以允许 API 访问?
若安全插件拦截了 API 请求:
Wordfence 配置
- 进入 Wordfence > 防火墙 > 所有防火墙选项
- 找到“禁止上传目录执行代码”
- 将 FlowHunt 服务器 IP 加入白名单
- 启用“允许 REST API 访问”
其它安全插件
- 查找 REST API 或 API 访问相关设置
- 将 FlowHunt 的 IP 加入白名单
- 为合法 API 请求创建例外
- 可临时停用测试,随后正确配置
相关常见问题解答
问:为什么我的 WordPress API 在浏览器能用,但在 FlowHunt 上不行?
答:通常是认证问题。浏览器用的是已登录会话,而 FlowHunt 需要用应用密码认证。
问:API 集成能用普通 WordPress 密码吗?
答:不能,必须使用应用密码。普通密码无法用于 REST API 的安全认证。
问:如果我的主机不支持 WordPress REST API 怎么办?
答:可考虑更换支持现代 WordPress 功能的主机,或联系主机商请求开启 REST API。
问:如何判断安全插件是否拦截了 API 请求?
答:临时停用安全插件并重新测试连接,若恢复正常,则需配置插件允许 API 访问。
问:为什么共享主机和独立主机上出现的错误不同?
答:共享主机通常有更严格的安全限制和资源限制,而独立主机或 VPS 环境则无此类限制。
