使用条款

优酷所有文档,接收者有保密义务。未经优酷书面许可,任何人或任何机构不得向第三方披露、泄露有关本文件的任何内容或细节。优酷拥有修改、调整、增补本文件的权利。

目录

注意:以下接口将进行更新替换

开始上传: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

优酷cloud.youku.com视频系统上传API

这个API是优酷视频部门提供的,供上传各种类型的视频。具体文档参见 http://cloud.youku.com/docs?id=110

这里有三种上传方式:HTTP API, 客户端上传,WEB界面上传。并提供了HTTP API的SDK可供参考。

我们介绍一下通过HTTP API上传的基本流程:

1. 创建用户

访问优酷首页http://youku.com/,使用首页右上角的“登录/注册"按钮,建立一个优酷账号。

create_user

create_user

2. 创建应用

访问cloud.youku.com的应用管理页面http://cloud.youku.com/app,接近右上角的地方有一个“创建应用”按钮,创建一个app。注意,一定要填写一个OAuth回调地址,这样才能够使用后面的API接口。回调地址可以随便填写,最好使用你们的网站地址。

create_app

create_app

3. 查看client信息

app创建之后,可以在应用管理页面查看状态,包括client_id和client_secret。

check_client

check_client

4. 阅读视频上传文档

文档参见 http://cloud.youku.com/docs/docs?id=109

5. 人工调用授权接口,获得token对

手动获取access_token

使用API上传之前需要先获取access_token,未来上传相关的接口或者使用SDK都需要这个token作为验证码,根据OAuth2协议,所有的操作API都应当使用定期更新的access_token。获取的方法参见这里http://cloud.youku.com/docs/docs?id=101,里面需要调用'/authorize'(人工验证用户,并获得临时的授权code)和'/token'(使用授权code获得token)两个接口。

a. /authorize接口

人工拼接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接口以后两个一起连续操作。

b. /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"
}

6. 刷新token对

获取到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"
}

7. 视频上传接口

视频上传有两种形式:

使用上一步获取的access_token,参考上传文档,调用/create接口创建视频信息,再调用/upload接口上传视频。这两步文档写的很清晰,直接参照即可。

/upload上传成功会返回视频的ID,类似于'XNzg5NDg0MTgw'形式。

8. 视频状态获取接口

视频上传完之后,通过调用该接口查询视频的状态是否为normal - 单条视频基本信息。参见http://cloud.youku.com/docs?id=46

参数state=normal之后视频才可上传到adx平台视频,否则有可能报视频时长错误

9. 播放页URL

将视频ID拼接成播放页URL,如: http://v.youku.com/v_show/id_XNzg5NDg0MTgw.html 。这个URL是ADX系统中表示素材的唯一标示。另外,也可以直接用浏览器打开该URL查看播放效果。

10. ADX素材上传

使用播放页URL,将素材上传到ADX系统的素材上传接口中,等待人工审核。

11. RTB响应

审核通过后,就可以在RTB响应中返回该素材了。响应中的adm字段填写播放页URL即可。

注意:

  1. 水印:优酷的视频上传后会加上水印,需要去水印功能,应当在创建了正式的用户与app后,将client_id告知ADX产品人员,我们负责加上去水印功能。