上传语音文件

最近更新时间:2019-04-28 11:29:18

接口描述

功能描述

上传语音文件。

URL 示例

POST https://cloud.tim.qq.com/v5/tlsvoicesvr/uploadvoicefile?sdkappid={sdkappid}&random={random}&time={time}
:sdkappid 请填写您在腾讯云上申请到的,random 请填成随机数。

请求参数

HTTP 请求包体

POST /v5/tlssmssvr/uploadvoicefile?sdkappid={sdkappid}&random={random}&time={time}
Host: cloud.tim.qq.com
Content-Type: audio/wav
Content-Length: {content-length}
Authorization: {sig}
x-content-sha1: {voice-file-content-sha1sum}
{voice-file-content}

说明:

语音文件内容放在 body 部分,请求签名放在 HTTP 头部 Authorization 部分。

URL 请求参数

参数 必选 类型 描述
sdkappid number 应用唯一标识,32位正整数
random number 随机值, 64位正整数
time number 请求发起时间,UNIX 时间戳(单位秒),如果和系统时间相差超过10分钟则会返回失败

HTTP 头部参数

参数 必选 类型 描述
Content-Type string 目前只支持 wav 和 mp3 格式,wav 请填"audio/wav",mp3 请填"audio/mpeg"
Content-Length string HTTP 请求体大小,主要描述语音文件长度
Authorization string 语音文件上传请求凭证,具体计算方式见下注
x-content-sha1 string 语音文件内容 sha1sum 值

HTTP 请求体

语音文件内容,语音文件大小上传限制400K字节。

响应参数

{
    "result": 0,
    "errmsg": "ok",
    "fid": "8550911c8631f8bcee5e31da6bb551c996dc4a26.wav"
}
参数 必选 类型 描述
result number 错误码,0表示成功(计费依据),非0表示失败
errmsg string 错误消息,result 非0时的具体错误信息
fid string 语音文件唯一标识,调用方需保存,用于后续发送语音消息
  • Authorization计算

  • c++

// 格式字符串
string fmt = "appkey=%s&random=%lu&time=%lu&content-sha1=%s";
// sdkappid 对应的 appkey,业务方需高度保密
string appkey = "5f03a35d00ee52a21327ab048186a2c4";
// 请求url中的随机值
uint64_t random = 7226249334;
// 当前请求时间,UNIX 时间戳,单位秒
time_t now = time(NULL);
// 语音文件内容 sha1sum 值
string content_sha1sum = "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d";
// 计算 sig
string sig = sha256hex(format(fmt, appkey, random, now, content_sha1sum));
  • python
import hashlib
import time

# 格式字符串
fmt = "appkey={}&random={}&time={}&content-sha1={}"
# sdkappid 对应的 appkey,业务方需高度保密
appkey = "5f03a35d00ee52a21327ab048186a2c4"
# 请求 URL 中的随机值
random = 1234
# 当前请求时间,UNIX 时间戳,单位秒
now = int(time.time())
# 语音文件内容 sha1sum 值
content_sha1sum = "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
# 计算 sig
sig = hashlib.sha256(fmt.format(appkey, random, now, content_sha1sum)).hexdigest()

DEMO

腾讯云短信服务为您提供了 Java SDKPHP SDKPython SDKNode.js SDKC# SDK 供您参考,欢迎查阅。