文档中心

调用方式

公共参数

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

  • 拼接成{resource}的参数{k0}{k1}...是除去{signature},{accesskey},{expire}外的所有指定的关键参数,参数名与参数值用等号=连接,参数值需经过url编码,参数之间依照参数名的字典顺序依次用与号&连接,拼接后最终形如"k0=v1&k1=v1"
  • 每个均以其接口名{method}作为计算{resource}的一个参数值(字母小写),参数名为method
  • 若接口body不为空,则需要加入名为contmd5的参数,值为body的md5值
  • 若接口url的query中需要加入其他关键参数,也需要列入到计算{resource}参数列表中