Microsoft Edge 翻译 API:免授权直调指南
微软 Edge 翻译接口近期进行了调整。此次变更并非封禁服务,而是简化了调用流程:新接口无需鉴权即可直接使用。此前需要先生成 Auth Token 再发起请求,现在只需直接 POST 文本数组即可完成翻译。
Note
端点地址:https://edge.microsoft.com/translate/translatetext
鉴权要求:无。固定 Content-Type 为 application/json,Body 需为字符串数组。
以往做法
需先通过 Auth 接口获取 Token,随后在翻译请求中携带 Authorization 头。步骤繁琐,且需处理 Token 过期问题。
当前做法
直接 POST 请求。通过 Query 参数指定源语言 (from) 和目标语言 (to),Body 中传入待翻译的字符串数组即可。
调用方法
确定语言方向
Query 参数包括:
from(源语言,可选)、to(目标语言)、isEnterpriseClient=false。发送 POST 请求
Body 应为 JSON 格式的字符串数组,每项代表一段待翻译文本。支持批量翻译。
解析响应
响应结果与输入顺序一致,从
translations[].text字段中提取译文。
curl 示例
curl --url 'https://edge.microsoft.com/translate/translatetext?from=&to=zh-Hans&isEnterpriseClient=false' \ -H 'content-type: application/json' \ --data-raw '["Hello world","Good morning"]'Tip
自动检测源语言:将 from 参数留空,例如 from=&to=zh-Hans&isEnterpriseClient=false。
原始报文示例
POST /translate/translatetext?from=zh-Hans&to=en&isEnterpriseClient=false HTTP/1.1Host: edge.microsoft.comContent-Type: application/jsonContent-Length: 31["你好世界","早上好"][ { "translations": [ { "text": "Hello World", "to": "en", "sentLen": { "srcSentLen": [4], "transSentLen": [11] } } ] }, { "translations": [ { "text": "Good morning", "to": "en", "sentLen": { "srcSentLen": [3], "transSentLen": [12] } } ] }]参数与字段说明
Query 参数
string源语言代码。若留空,系统将自动检测源语言,例如 from=。
string目标语言代码,例如 zh-Hans、en。
booleanfalse
抓包显示该值为 false,建议保持此默认值。
响应结构(每条输入对应一项)
string翻译后的文本内容。
string实际使用的目标语言代码。
object句子长度统计信息,包含 srcSentLen(源句长)和 transSentLen(译文句长),通常业务逻辑中无需使用。
迁移注意事项
需先认证后翻译
需要额外请求获取 Token,并在后续请求中携带 Authorization 头。Token 过期时需重新获取,维护成本较高。
旧接口
直接 POST 文本
无需 Authorization 头。固定 Content-Type: application/json,Body 为字符串数组,通过 Query 参数指定语言方向。
新接口
Warning
此为 Edge 前端内部使用的非公开端点,路径或风控策略可能随时调整。在生产环境中使用时,请务必实现失败重试机制和降级方案,切勿将其视为具有 SLA 保障的正式 API。
快速对照表
| 项 | 值 |
|---|---|
| Method | POST |
| Host | edge.microsoft.com |
| Path | /translate/translatetext |
| Auth | 无 |
| Body | string[] JSON 数组 |
| 自动检测 | from= 留空 |