WPS AI文档润色接口需用client_id和client_secret换取Bearer Token,且content字段须为纯文本或HTML字符串(非文件),长度≤10000字符,Content-Type为application/json。

WPS AI 文档润色接口的认证方式怎么配
WPS AI 的 /v1/document/polish 接口要求使用 Bearer Token 认证,这个 token 不是直接在控制台复制的 API Key,而是要先用 client_id 和 client_secret 向 https://api.wps.cn/oauth2/token 换取。跳过这步直接填 API Key 会返回 401 Unauthorized。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 在 WPS 开放平台(open.wps.cn)创建应用后,拿到
client_id和client_secret - 用
curl或 PHP 的file_get_contents()+stream_context_create()发起 POST 请求获取access_token - 注意
access_token有效期为 2 小时,需本地缓存并自动刷新,不能每次请求都重新取 - Token 请求体必须是
application/x-www-form-urlencoded,不是 JSON
PHP 怎么传 Word 文档内容给 WPS AI 润色
WPS AI 的润色接口不接收二进制文件(如 .docx),只接受纯文本或 HTML 格式的文档内容,且要求字段名为 content,不是 file 或 text。传错字段名会返回 400 Bad Request 并提示 "content is required"。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 若原始是 .docx 文件,先用
phpoffice/phpword或aspose-words-cloud解析提取正文,避免直接读取 ZIP 内容导致格式错乱 - HTML 内容需做基础清洗:移除
、style属性、冗余空格,否则可能触发内容过滤 - 字符长度限制为 10,000 字符(含标点和空格),超长需分段处理,但注意段落逻辑连贯性
- 必须指定
Content-Type: application/json,且整个请求体是 JSON 字符串
{
"content": "今天天气很好,我们一起去公园散步。公园里有很多花,非常漂亮。",
"type": "text"
}
调用 wps_ai_polish() 时常见的 HTTP 错误怎么排查
PHP 中用 curl_exec() 调用失败时,光看 false 返回值没用,必须检查 curl_error() 和 curl_getinfo($ch, CURLINFO_HTTP_CODE)。WPS AI 接口常见错误不是 5xx,而是 4xx 静态码,对应不同语义:
-
400:JSON 格式错误、content字段缺失、type值非法(只接受"text"或"html") -
401:token 过期或签名无效,检查是否用了Bearer前缀(注意后面有个空格) -
429:QPS 超限,免费版默认 5 次/秒,不要在循环里密集请求 -
500:服务端临时异常,加sleep(1)后重试最多 2 次即可,别死循环
建议封装一个带日志和重试的请求函数,而不是裸写 curl。
返回的润色结果怎么安全转成 UTF-8 并保留换行
WPS AI 返回的 JSON 中 result 字段是字符串,但可能含 \n、\r\n 或 HTML 。PHP 默认 json_decode() 会正确解析 \n,但若原始内容来自 Windows 环境的 Word,换行可能被转成 \r\n,直接 echo 到网页会塌成一行。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 用
json_decode($response, true)解析,再对$data['result']做str_replace(["\r\n", "\r"], "\n", $text) - 输出到网页前,用
nl2br(htmlspecialchars($text)),防止 XSS;若要保留原始排版(如缩进),改用包裹 - 注意 WPS AI 可能返回空格缩进的段落,
trim()会误删,建议只清理首尾空白
真正容易被忽略的是 token 刷新机制和 content 字段的格式边界——它不接受 base64、不支持 multipart、不校验文档结构,只认干净的字符串。接口看着简单,卡在这两处的人最多。











