1. 接口说明
- 授权认证,调用接口需要将 Appid,CurTime, Param 和 CheckSum 信息放在 HTTP 请求头中;
- 接口统一为 UTF-8 编码;
- 接口支持 http 和 https;
- 请求方式为POST。
- 需配置IP白名单,详细请参照 白名单。
2. 接口调用流程
- 通过接口密钥基于MD5计算签名,将签名以及其他参数放在Http Request Header中,详见下方 授权认证 。
- 将音频或图片数据放在Http Request Body中,详见各接口的详细说明 。
- 向服务器端发送Http请求后,接收服务器端的返回结果,返回结果详见各接口的详细说明。
3. 授权认证
在调用所有业务接口时,都需要在 Http Request Header 中配置以下参数用于授权认证:
参数 | 格式 | 说明 | 必须 |
---|---|---|---|
X-Appid | string | 讯飞开放平台注册申请应用的应用ID(appid) | 是 |
X-CurTime | string | 当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的秒数 | 是 |
X-Param | string | 相关参数JSON串经Base64编码后的字符串,见各接口详细说明 | 是 |
X-CheckSum | string | 令牌,计算方法:MD5(apiKey + curTime + param),三个值拼接的字符串,进行MD5哈希计算(32位小写),其中apiKey由讯飞提供,调用方管理。 | 是 |
注:
- apiKey:接口密钥,由讯飞开放平台提供,在控制台添加相应服务后即可获取,调用方注意保管,如泄露,可 提交工单 联系讯飞技术人员重置;
- checkSum 有效期:出于安全性考虑,每个 checkSum 的有效期为 5 分钟(用 curTime 计算),同时 curTime 要与标准时间同步,否则,时间相差太大,服务端会直接认为 curTime 无效;
- BASE64 编码采用 MIME 格式,字符包括大小写字母各26个,加上10个数字,和加号 + ,斜杠 / ,一共64个字符。
checkSum 生成示例:
String apiKey="abcd1234";
String curTime="1502607694";
String param="eyAiYXVmIjogImF1ZGlvL0wxNjtyYXR...";
String checkSum=MD5(apiKey+curTime+param);
4. 白名单
在调用所有业务接口时,授权认证通过后,服务端会检查调用方ip是否在讯飞开放平台配置的ip白名单中,对于没有配置到白名单中的IP发来的请求,服务端会拒绝服务。注:
- IP白名单可在控制台应用管理卡片上编辑,五分钟左右生效;
- IP白名单最多可设置5个;
- 如果服务器返回结果如下所示,则表示由于未配置IP白名单或配置有误,服务端拒绝服务。解决办法请参考 IP白名单问题汇总。
{
"code":"10105",
"desc":"illegal access|illegal client_ip",
"data":"",
"sid":"xxxxxx"
}
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间:2019-05-07 07:12:51