内容接入接口调用必读更新时间: 2024-09-30 11:06:00
一、概述
开放平台支持长视频、音频的规范接口调用,调用接口前,需了解如下内容:
- 接口概览:
类型 | 接口名称 | 接口功能 |
长视频 | 长视频推送接口 | 用于CP推送增量和全量内容 |
音频 | 音频推送接口 | 用于CP推送增量内容,同步媒资信息变化 |
音频拉取接口 | 用于小米拉取CP全量内容,校验数据一致性 |
- 接口调用流程:需申请相关权限、获取访问凭证,才能调用 API 。
二、申请相关权限
向小米申请 partnerId,partnerKey
- partnerId:小米分配的合作方唯一的标识符
- partnerKey:需要合作方高度保密,用于接口加密时拼装partnerKey作为加密串
三、获取访问凭证(access_token)
要访问小米内容推送API,需要先获取相应的访问凭证(access_token),作为API调用时的鉴权,在调用内容推送API时,小米可据此识别调用方的身份。通过此接口获取访问凭证,access_token具有一定的时效性,默认最长有效期为3600秒,在需要的情况下,合作方需要调用此接口来获取一个新的access_token。
补充说明:将api_host替换成合作方对应环境的域名
HTTP URL | http://api_host/long/auth/v1/get_access_token?nonce=xxx&partnerId=xxx×tamp=xxx&sign=xxx |
HTTP Method | GET |
- 请求参数:
字段名 | 字段类型 | 最大长度限制 | 是否必填 | 说明 |
partnerId | string | 32 | 是 | 小米分配的合作方唯一的标识符 |
timestamp | long | - | 是 | 当前请求时间戳,单位毫秒 |
nonce | string | 32 | 是 | 随机值,相邻两次请求的nonce不允许重复,如果重复认为重复提交,响应失败 |
sign | string | 256 | 是 | 签名,签名字段按照ASCII码递增排序,组合成“参数=参数值”的格式,并把这些参数用&字符拼接起来,最后再拼接上 partnerKey=xxx,组成签名串,进行MD5加密生成sign。 如:MD5(nonce=xxx&partnerId=xxx×tamp=xxx&partnerKey=xxx) |
- 响应参数:
字段名 | 类型 | 最大长度 | 是否必填 | 说明 |
code | string | - | 是 | 返回码 |
msg | string | - | 是 | 返回码描述 |
data | object | - | 是 | 返回数据 |
access_token | string | 40 | 是 | 访问令牌,通过该令牌调用需要授权类接口 |
expires_in | string | 16 | 是 | 该令牌的有效时间,单位是秒 |
- 响应示例:
{
"code": "0000",
"msg": "success",
"data": {
"access_token":"c83a2e753d41494fbde7b4aa31f4fa66",
"expires_in":"3600"
}
}
四、 调用API
1、基本要求
- 完成获取partnerId,partnerKey
- 完成获取访问凭证
- 需要使用 HTTPS 协议、JSON 数据格式、UTF8 编码
2、请求参数说明
- 请求头:这部分参数需要放在 HTTP 请求的 Header 中,主要包含调用 API 所需要使用的访问凭证(access token)以及 HTTP Content-Type(除获取凭证外其余接口:Content-Type:application/json; charset=utf-8)
- 请求体:POST请求的请求参数以JSON格式放在请求body中
- 查询参数:这部分参数需要在URL后后使用?进行连接,多个查询参数间以&分隔
POST请求的sign参数放在请求URL中。如:https://api_host/api_path?sign=xxx'
3、API调用方式
调用API接口时,请求需要把访问凭证 access token 放到 Header 的 Authorization 中。 示例:
$ curl -X POST 'https://api_host/api_path?sign=xxx'
-H 'Authorization:<这里替换为对应的access token>'
-H 'content-type:application/json; charset=utf-8'
-d '{
"field": "value"
}'
4、API响应结果
API 的响应体结构包括 code、msg、data 三个部分。code为返回码,msg为返回信息,data为 API 的调用结果。默认请求成功时,code 为 0000,msg 为 success。data 在一些操作类 API 的返回中可能不存在
// 响应成功示例
{
"code": "0000",
"msg": "success"
}
{
"code": "0000",
"msg": "success",
"data": {
// 响应的具体数据内容
}
}
// 响应失败示例
{
"code": "9991",
"msg": "invalid token"
}
5、请求地址
测试环境 | https://test-uvcas.tv.mi.com/ |
生产环境 | https://uvcas.tv.mi.com/ |
6、返回码说明
返回码:code | 返回描:msg | 说明 |
0 | success | 成功 |
9990 | invalid partner | 检查partnerId是否有效,确认无误后联系小米产品经理 |
9991 | invalid token | 查看token是否填写正确,是否过期 |
9992 | verify sign fail | 验签失败,检查签名是否按照约定 |
9993 | no sign | 没有对参数进行签名 |
9994 | method not allowed | HTTP 方法不支持,检查是否是POST 请求 |
9995 | empty param | 参数为空,请检查非空参数 |
9996 | invalid param | 请求参数有误,请检查参数的正确性 |
9997 | deal fail | 请求处理失败,请检查参数并重试 |
9998 | internal error | 内部错误,请稍后重试,仍然出现请联系小米开发人员 |
9999 | service error | 服务异常,检查请求参数是否正确,确认无误联系小米开发人员 |
上一篇:平台操作指南
下一篇:长视频内容API接入规范
文档内容是否有帮助?
有帮助
无帮助