申請百度翻譯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 |