所有接口在query中定义了如下公共参数,主要用于进行开发者身份的鉴权验证,防止非法访问、保护开发者权益。
| 参数名 | 是否必须 | 描述 |
|---|---|---|
| accesskey | 是 | 公钥 |
| expire | 是 | 过期格林威治时间秒数 |
| contmd5 | POST必须 | body的md5值 |
| uniqname | 是 | 开发者身份标识,申请直播服务时分配,由2~128位字母、数字、下划线组成 |
| signature | 是 | 签名 |
errno为接口调用返回的错误码,指示任务成功与失败类型,定义如下:
| errno | 说明 | errmsg |
|---|---|---|
| 0 | 成功 | success |
| 1 | 未知错误 | unknow issue |
| 1000 | 参数缺失 | lack of parameters |
| 1001 | 参数不合法 | parameter illeagal |
| 1002 | 无效的身份标识名称 | lack of parameters |
| 1003 | 无效的应用名称 | invalid app name |
| 1004 | 无效的流名称 | invalid stream name |
| 1005 | 无效的模板名称 | invalid preset name |
| 1006 | 无效的输出格式 | invalid output format |
| 1100 | 拒绝访问 | access denied |
| 1200 | 记录不存在 | record is empty |
| 1201 | 记录已经存在 | record already exist |
| 1202 | 插入记录错误 | add record fail |
| 1203 | 删除记录错误 | drop record fail |
| 1204 | 更新记录错误 | update record fail |
| 1300 | 任务失败 | task fail |
| 1301 | 任务不存在 | task nost exist |
金山云开发者中心给调用方提供公钥accesskey,用来在HTTP请求中显式的指示用户身份,开发者中心同时也提供私钥secretkey,由调用方负责保密保管,作为signature的计算源数据。
signature的计算原则如下:
1.签名计算方法
{signature} = Base64(HMAC-SHA1({secretkey}, UTF-8-Encoding-Of({StringToSign})))
其中{secretkey}为开发者密钥,参数{StringToSign}计算方法见第2条
2.{StringToSign}计算方法
{StringToSign} = "GET" + "\n" + {expire} + "\n" + {resource}
其中{expire}为过期时间的格林治时间秒数,{resource}参数计算方法见第3条
3.{resource}计算方法
{resource} = "{k0}={v0}&{k1}={v1}&..."
其中{k0}{k1}...为指定的参数名,{v0}{v1}...为对应的参数值,各参数及其拼接方法遵循如下规则: