线上接入地址
接入Endpoint为https://vod-api.xstore.ctyun.cn, 服务context-path为/xstore-vod 。
签名生成规则
1、 signature形式:AWS {access-key}:{hash-of-secret-and-resource}
- 使用具体的access key代替{access-key} ,在其后紧跟一个冒号【:】。
- 用请求uri、method、签名生成时间等和对应的secret key hash(SHA1)再base64 之后的结果替换{hash-of-secret-and-resource}。
2、签名AWS {access-key}:{hash-of-secret-and-resource}生成步骤:
- 获取请求方法httpMethod,如
POST
。 - 获得签名生成时间GMT格式DateValue,如
Thu, 27 Jul 2023 09:04:58 GMT
。 - 获取请求完整uri,如
/xstore-vod/video/files
。 - 将以上字符按指定格式拼接生成最终参与签名的完整字符串,即
stringToSign="${httpMethod}\n\n\n${DateValue}\n${uri}"
。 - 将sk作为秘钥使用HmacSHA1对上述stringToSign进行hash。
- 对上述hash值进行base64编码得到hash-of-secret-and-resource值,如
iGvpz3n7NjXclCnZDroeU/YUVQg=
。 - 按AWS
{access-key}:{hash-of-secret-and-resource}
进行拼接得到最终signature鉴权头。
接口返回结果
所有接口都采用restful风格编写,接口返回结果统一为json格式:
字段 | 说明 |
---|---|
code | 返回码,0表示成功,非0表示失败。 |
message | 失败时为具体失败信息。 |
data | 返回数据集。 |
pageCount | 总页数。 |
total | 总记录数。 |
查询接口均支持分页查询
参数 | 说明 |
---|---|
pageIndex | 起始页码,从0开始。 |
pageSize | 每页数据条数,从1开始。 |
备注 | 不传分页按默认分页进行查询(每页10条从第0页开始查询)。 |
SHELL实例
#!/bin/sh
ak="ak 请从云点播控制台【密钥管理】-【原生密钥】获取"
sk="sk 请从云点播控制台【密钥管理】-【原生密钥】获取"
endpoint="https://vod-api.xstore.ctyun.cn"
uri="/xstore-vod/video/files"
httpMethod="POST"
DateValue="`TZ=GMT date +'%a, %d %b %Y %H:%M:%S GMT'`"
stringToSign="${httpMethod}\n\n\n${DateValue}\n${uri}"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${sk} -binary | base64`
#body入参为json格式
apiParam='{"videoId":"请从云点播控制台【点播模式】-【媒体库】获取"}'
echo "curl -H \"Content-Type: application/json\" -H \"Date: ${DateValue}\" -H \"signature: AWS ${ak}:${signature}\" -d '${apiParam}' -X POST \"${endpoint}${uri}\""
sh -c "curl -H 'Content-Type:application/json' -H 'Date: ${DateValue}' -H 'signature: AWS ${ak}:${signature}' -d '${apiParam}' -X POST '${endpoint}${uri}'"