申请百度翻译API
0x00 前期准备
- 百度账号
- md5的相关知识
0x01
进入百度开放平台,登录你的百度账号
找到 产品服务 -> 通用翻译API
0x02
点击下面的立即使用按钮,注册成为个人开发者(或者企业开发者)
0x03
填写基本信息后,点击下一步
0x04
之后选择高级版,填写自己的真实姓名和身份证号后,点击提交
0x05
之后选择开通服务,根据需要选择标准版或高级版
0x06
我这里仅开通标准版的
填写你的应用名称,点击确认开通
开通成功
0x07
点击导航栏里你的昵称,选择开发者信息,可以看到你的APPID和密钥
0x08 API文档
导航栏里 文档与支持 -> 左侧通用翻译API
或者直接访问这里进行查阅:https://api.fanyi.baidu.com/doc/21
0x09 使用方法
简单描述一下,以下内容照搬自百度翻译官方文档
接入方式
通用翻译API通过HTTP接口对外提供多语种互译服务。您只需要通过调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。
通用翻译API HTTP地址:
http://api.fanyi.baidu.com/api/trans/vip/translate
通用翻译API HTTPS地址:
https://fanyi-api.baidu.com/api/trans/vip/translate
输入参数
字段名 | 类型 | 是否必填 | 描述 | 备注 |
---|---|---|---|---|
q | string | 是 | 请求翻译 query | UTF-8 编码 |
from | string | 是 | 翻译源语言 | 可设置为 auto |
to | string | 是 | 翻译目标语言 | 不可设置为 auto |
appid | string | 是 | APP ID | 可在 管理控制台 查看 |
salt | string | 是 | 随机数 | |
sign | string | 是 | 签名 | appid+q+salt+密钥 的MD5值 |
以下字段仅开通了词典、TTS用户需要填写 | ||||
tts | integer | 否 | 是否显示语音合成资源 | 0 - 显示 1 - 不显示 |
dict | integer | 否 | 是否显示词典资源 | 0 - 显示 1 - 不显示 |
以下字段仅开通了”我的术语库“用户需要填写 | ||||
action | integer | 否 | 判断是否需要使用自定义术语干预 API | 1 - 是 0 - 否 |
请求方式: 可使用GET或POST方式,如使用POST方式,Content-Type请指定为:application/x-www-form-urlencoded
字符编码:统一采用UTF-8编码格式
query长度:为保证翻译质量,请将单次请求长度控制在 6000 bytes以内。(汉字约为2000个)
签名生成方法
签名是为了保证调用安全,使用MD5算法生成的一段字符串,生成的签名长度为 32位,签名中的英文字符均为小写格式
生成方法:
Step1. 将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥 的顺序拼接得到字符串1。
Step2. 对字符串1做md5,得到32位小写的sign。
注:
1. 待翻译文本(q)需为UTF-8编码
2. 在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode
输出参数
返回的结果是json格式,包含以下字段:
字段名 | 类型 | 描述 | 备注 |
---|---|---|---|
from | string | 源语言 | 返回用户指定的语言,或者自动检测出的语种(源语言设为 auto 时) |
to | string | 目标语言 | 返回用户指定的目标语言 |
trans_result | array | 翻译结果 | 返回翻译结果,包括 src 和 dst 字段 |
trans_result.*.src | string | 原文 | |
trans_result.*dst | string | 译文 | |
error_code | integer | 错误码 | 仅当出现时错误时显示 |
以下字段仅开通了词典、TTS用户可见 | |||
src_tts | string | 原文tts 链接 |
mp3 格式,暂时无法指定发音 |
dst_tts | string | 译文tts 链接 |
mp3 格式,暂时无法指定发音 |
dict | object | 中英词典资源 | 返回中文或英文词典资源,包含音标,简明释义等内容 |
接入举例
例如:将英文单词apple翻译成中文:
请求参数:
q=apple
from=en
to=zh
appid=2015063000000001(请替换为您的appid)
salt=1435660288(随机码)
平台分配的密钥: 12345678
生成签名sign:
Step1. 拼接字符串1:
拼接appid=2015063000000001+q=apple+salt=1435660288+密钥=12345678得到字符串1:“2015063000000001apple143566028812345678”
Step2. 计算签名:(对字符串1做md5加密)
sign=md5(2015063000000001apple143566028812345678),得到sign=f89f9594663708c1605f3d736d01d2d4
拼接完整请求:
http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4
注:也可使用POST方式,如POST方式传送,Content-Type请指定为:application/x-www-form-urlencoded
语种列表
通用翻译API支持语种数已达211种,完整列表如下。其中,对于常见语种列表内的语种,所有用户均可调用。对于非常见语种,仅企业已认证用户可调用,未认证用户调用将返回错误。
源语言语种不确定时可设置为 auto,目标语言语种不可设置为 auto。但对于非常用语种,语种自动检测可能存在误差。
常见语种列表
名称 | 代码 | 名称 | 代码 | 名称 | 代码 |
---|---|---|---|---|---|
自动检测 | auto | 中文 | zh | 英语 | en |
粤语 | yue | 文言文 | wyw | 日语 | jp |
韩语 | kor | 法语 | fra | 西班牙语 | spa |
泰语 | th | 阿拉伯语 | ara | 俄语 | ru |
葡萄牙语 | pt | 德语 | de | 意大利语 | it |
希腊语 | el | 荷兰语 | nl | 波兰语 | pl |
保加利亚语 | bul | 爱沙尼亚语 | est | 丹麦语 | dan |
芬兰语 | fin | 捷克语 | cs | 罗马尼亚语 | rom |
斯洛文尼亚语 | slo | 瑞典语 | swe | 匈牙利语 | hu |
繁体中文 | cht | 越南语 | vie |