1. 接口说明

翻译通过 WEBAPI 的方式对开发者提供文本翻译的 Server To Server 接口。通过使用该接口,开发者可以实现将源语种文字转化为目标语种文字。

2. 请求地址

http://openapi.openspeech.cn

3. 请求格式

GET /webapi/its.do?svc=its&token=its&from=`源语种`&to=`目标语种`&q=`文本`&sign=`签名`  HTTP/1.1
Host:openapi.openspeech.cn
X-Par:IGFwcGlkPTEyMzQ1Njc4
Ver:1.0
  1. 协议:HTTP 1.1
  2. 请求方式:GET
  3. 编码:UTF-8

4. 请求参数

名称 说明
from 源语种,详见语种列表。
to 目标语种,详见语种列表。
q 请求文本,UTF-8,最大1000字节(约为250个汉字或者800个英文字母的文本长度)。
sign 签名,32位小写md5值。计算公式:MD5SUM(q + X-Par + ApiKey)。"+"号表示字符串拼接。ApiKey由讯飞提供,开发者自己管理。

5. 请求头部

名称 说明 取值
X-Par 参数 base64(appid=实际值)
Ver 当前协议版本号 1.0

6. 返回值

响应示例:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 232
Content-Encode: base64

eyJmcm9tIjoiY24iLCJyZXQiOjAsInNpZCI6Iml0czAwMGQ5YjU2QGR4Mjc3Yz
BlYTIxNmFlNmYyYjAwIiwidG8iOiJlbiIsInRyYW5zX3Jlc3VsdCI6eyJzcmMi
OiLnv7vor5HkuLvliqjnm5HmjqfmtYvor5XmlofmnKwiLCJkc3QiOiJUcmFuc2
xhdGUgYWN0aXZlIG1vbml0b3JpbmcgdGVzdCB0ZXh0In19

响应BODY为base64编码的json,字符编码为UTF-8。json格式如下:

{
    "ret": 0,
    "sid": "****************",
    "errmsg": "******",
    "from": "en",
    "to": "cn",
    "trans_result": {
        "src": "hello",
        "dst": "你好"
    }
}

json字段如下:

参数 类型 说明 optional
ret int 结果码(具体见错误码) 必有
sid string 会话ID。用于后台排查问题。 必有
errmsg string 错误信息。 可选,出错有
from string 源语种。 可选,成功有
to string 目标语种。 可选,成功有
trans_result object 翻译结果。 可选,成功有
src string 源文本 可选,成功有
dst string 目标文本 可选,成功有

7. 语种列表

语种 参数
汉语普通话 cn
英语 en
日语 ja
韩语 ko
法语 fr
西班牙语 es
俄语 ru

8. 调用示例

python脚本示例(python版本号 3.6)

说明:将脚本中API_KEY, APPID换成相应的讯飞开放平台提供的 apiKey,讯飞开放平台应用的 appid 即可,运行脚本可打印相应结果。

import requests
import base64
import hashlib


def result():
src = 'cn'
to = 'en'
text = '测试'
url = 'http://openapi.openspeech.cn'
app_id = 'APPID'
api_key = 'API_KEY'

x_param = base64.b64encode(('appid={0}'.format(app_id)).encode('utf-8'))
tt = str(x_param, 'utf-8')
m2 = hashlib.md5()
m2.update((text + str(x_param, 'utf-8') + api_key).encode('utf-8'))
sign = m2.hexdigest()
header = {
    'X-Par': tt,
    'Ver': '1.0',
}

res = requests.get(url= url + '/webapi/its.do?svc=its&token=its&from={0}&to={1}&q={2}&sign={3}'.format(src, to, text, sign), headers=header)
print(str(base64.decodebytes(res.content),'utf-8'))

if __name__ == '__main__':
result()
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-10-19 20:53:23

results matching ""

    No results matching ""