所有接口在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}...为对应的参数值,各参数及其拼接方法遵循如下规则: