用户登录授权

1. 授权机制说明

通过进行优酷用户授权,可以在站外:

(1)获取用户信息;

(2)获取用户上传,分享的视频;

(3)用户进行上传视频,关注他人,评论视频等用户动作;

2. 通用授权方式

最常用的授权方式,标准OAuth2授权协议。授权流程见下图:

步骤说明

步骤1:客户端发起授权请求;

GET /v2/oauth2/authorize?client_id=XXXX&response_type=code&state=xyz&redirect_uri=https://client.example.com/cb 
HTTP/1.1 Host: openapi.youku.com 

步骤2:授权页面等待用户授权,如果授权成功,则携带用户授权码跳转到指定的URL;

HTTP/1.1 302 Found 
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
             

步骤3:应用的服务器端获取用户授权码,并向授权服务器申请令牌;

POST /v2/oauth2/token HTTP/1.1
Host: openapi.youku.com 

client_id=XXXX&client_secret=XXXX&grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https://client.example.com/cb
            

步骤4:应用服务器获得令牌,保存下来,以便下次使用。

HTTP/1.1 200 OK 
Content-Type: application/json;charset=UTF-8 
{ 
"access_token":"8b5457ea585622626daba8eb6ccce1f5", "expires_in":"2592000", "refresh_token":"e018da5ce2ee77092121ac6beefefd5b", 
"token_type":"bearer" 
} 
             

具体接口描述请见API文档部分。

3. 常见问题

(1)我在调用接口的时候总是报130011207错误?

填写应用表格的回调地址应与接口调用时保持一致,若不一致,则会出现130011207错误。

(2)获取的access_token有效期多长?

这个在返回值expires_in有体现,目前有效期为30天。

(3)access_token过期了怎么办,需要重新授权吗?

不需要,获取令牌的同时会提供refresh_token。

(4)在测试授权接口的时候,遇到问题,服务器返回: 130011205 The authenticated client is not authorized to use this authorization grant type,未授权此APP使用这种授权方式(unauthorized client),请问如何解决?

合作级别的应用才能用合作级授权,建议使用其他方式授权,即在应用中嵌入授权页面的方式,如果想申请成为合作级别应用,请与优酷战略合作团队联系,签署线下协议。