使用条款
优酷所有文档,接收者有保密义务。未经优酷书面许可,任何人或任何机构不得向第三方披露、泄露有关本文件的任何内容或细节。优酷拥有修改、调整、增补本文件的权利。
开始上传:https://openapi.youku.com/v2/uploads/create.json ==>https://api.youku.com/uploads/create.json
上传结束:https://openapi.youku.com/v2/uploads/commit.json ==>https://api.youku.com/uploads/commit.json
刷新accesstoken:https://openapi.youku.com/v2/oauth2/token.json ==>https://api.youku.com/oauth2/token.json
查询视频状态:https://openapi.youku.com/v2/videos/show_basic.json ==>https://api.youku.com/videos/show.json
这个API是优酷视频部门提供的,供上传各种类型的视频。具体文档参见 http://cloud.youku.com/docs?id=110
这里有三种上传方式:HTTP API, 客户端上传,WEB界面上传。并提供了HTTP API的SDK可供参考。
我们介绍一下通过HTTP API上传的基本流程:
访问优酷首页http://youku.com/,使用首页右上角的“登录/注册"按钮,建立一个优酷账号。
访问cloud.youku.com的应用管理页面http://cloud.youku.com/app,接近右上角的地方有一个“创建应用”按钮,创建一个app。注意,一定要填写一个OAuth回调地址,这样才能够使用后面的API接口。回调地址可以随便填写,最好使用你们的网站地址。
app创建之后,可以在应用管理页面查看状态,包括client_id和client_secret。
文档参见 http://cloud.youku.com/docs/docs?id=109
使用API上传之前需要先获取access_token,未来上传相关的接口或者使用SDK都需要这个token作为验证码,根据OAuth2协议,所有的操作API都应当使用定期更新的access_token。获取的方法参见这里http://cloud.youku.com/docs/docs?id=101,里面需要调用'/authorize'(人工验证用户,并获得临时的授权code)和'/token'(使用授权code获得token)两个接口。
人工拼接URL地址请求调用'/authorize'接口,基本形式如下(按实际情况填入参数值):
https://api.youku.com/oauth2/authorize?client_id={client_id}&response_type=code&redirect_uri={回调地址}&state=
这个请求可以直接在浏览器地址栏输入,之后页面会跳到{回调地址}页面,并在参数上加上code值。
因此可以在浏览器上直接获取code。接下来人工使用这个code调用下面的/token接口初次获得token对(包括access_token和refresh_token)。
注意,这个接口的code有效期非常短,请准备好后面的/token接口以后两个一起连续操作。
使用上一步获得的code,调用/token接口,注意这里需要用POST,body是'key1=value1&key2=value2'的形式,用curl来表示类似于(按实际情况填入参数值): 注意,这里参数grant_type需要填写'authorization_code',表示初次获取token对
curl -i 'https://api.youku.com/oauth2/token' -d 'client_id={client_id}&client_secret={client_secret}&grant_type=authorization_code&code={authorize_code}&redirect_uri={回调地址}'
返回结果中包括token对,以及失效时间(单位是秒)
例如:
{
"access_token":"11d0b7627154f0dd000e6084f3811598",
"expires_in":"3600",
"refresh_token":"4bda296b570a6bba6ff02944cf10d13f",
"token_type": "bearer"
}
获取到token对(access_token和refresh_token)后,未来就可以使用access_token调用视频上传,或者使用SDK进行视频上传了。
出于安全保障,优酷openApi的access_token是需要定期刷新的。 因此第一次人工获取到token对以后,可以将这对token放到系统中,增加代码定时更新。
更新token仍然调用/token接口,只是参数不一样,grant_type参数值改为'refresh_token'。
具体接口说明,参见这里:http://cloud.youku.com/docs/docs?id=104
此接口返回JSON数据,格式如下:
{
"access_token":"11d0b7627154f0dd000e6084f3811598",
"expires_in":"3600",
"refresh_token":"4bda296b570a6bba6ff02944cf10d13f",
"token_type": "bearer"
}
视频上传有两种形式:
使用上一步获取的access_token,参考上传文档,调用/create接口创建视频信息,再调用/upload接口上传视频。这两步文档写的很清晰,直接参照即可。
/upload上传成功会返回视频的ID,类似于'XNzg5NDg0MTgw'形式。
视频上传完之后,通过调用该接口查询视频的状态是否为normal - 单条视频基本信息。参见http://cloud.youku.com/docs?id=46
参数state=normal之后视频才可上传到adx平台视频,否则有可能报视频时长错误
将视频ID拼接成播放页URL,如: http://v.youku.com/v_show/id_XNzg5NDg0MTgw.html 。这个URL是ADX系统中表示素材的唯一标示。另外,也可以直接用浏览器打开该URL查看播放效果。
使用播放页URL,将素材上传到ADX系统的素材上传接口中,等待人工审核。
审核通过后,就可以在RTB响应中返回该素材了。响应中的adm字段填写播放页URL即可。