用户名_密码获取Access_Token

 http://www.ivanjevremovic.in.rs/live/domination/red/index-async-slider.html

http://designova.net/reveal/preview/index-bgvideo.html#filter=.portfolio

http://web-vogue.com/themes/Titanium/blue/

http://byandby.iteye.com/blog/816101

使用用户名_密码获取Access_Token

简介

采用Resource Owner Password Credentials方式,即用户名、密码方式获取Access Token,适用于任何类型应用,但由于涉及将开心网用户的密码泄露给第三方应用,因此为保证开心网用户账号的安全性,本模式只会对与开心网合作极为紧密的合作方开放,且只对手机客户端类型的应用开放。开发者需要提前发邮件至app@corp.kaixin001.com申请,审核通过后方能使用。其流程示意图如下:


               图3:用户名、密码流程

对于应用而言,其流程只有一步,即直接获取Access Token。

使用开心账号获取Access Token

 

1. 请求数据包格式

通过用户名、密码获取Access Token需要应用在其服务端发送请求(推荐用POST方法)到开心网OAuth2.0授权服务的“https://api.kaixin001.com/oauth2/access_token”地址上,并带上以下参数:

参数名 必选 介绍
grant_type true 固定为“password”
username true 开心网用户的用户名
password true 开心网用户的密码
client_id true 应用的API Key
client_secret true 应用的Secret Key
scope flase 以空格分隔的权限列表,若不传递此参数,代表请求默认的basic权限。
如需调用扩展权限,必需传递此参数,详细请参考权限列表

例如:

https://api.kaixin001.com/oauth2/access_token?
grant_type=password&
username=json001&
password=111111&
client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&
client_secret=0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2&
scope=basic

2. 响应数据包格式

若参数无误,服务器将返回一段JSON文本,包含以下参数:

参数名 介绍
access_token 要获取的Access Token
expires_in Access Token的有效期,以秒为单位
refresh_token 用于刷新Access Token 的 Refresh Token,并不是所有应用都会返回该参数
scope Access Token最终的访问范围,即用户实际授予的权限列表(用户在授权页面时,
有可能会取消掉某些请求的权限)

例如:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{ 
    "access_token": "12932845_de81cfe747ad7e06f2a904e73646f04c",
    "expires_in": 2592000,
    "refresh_token": "12932845_a11e9e819933a8021291711510e011e8",
    "scope": "basic",
}

若请求错误,服务器将返回一段JSON文本,包含以下参数:

例如:

HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
{
    "error_code":"400",
    "request":"/oauth2/access_token",
    "error":"40021:Error: 请求的scope参数是无效的、未知的、格式不正确的"
}

使用腾讯token获取Access Token

使用腾讯开放平台的token换取开心access_token,需要把腾讯开放平台的tencent_token、expire、openid发送到https://api.kaixin001.com/oauth2/access_token

1. 请求数据包格式

参数名 必选 介绍
grant_type true 固定为“password”
tencent_token true 从腾讯开放平台获取的token
expire true token的有效期
openid true 从腾讯开放平台获取的openid
client_id true 应用的API Key
client_secret true 应用的Secret Key
scope flase 以空格分隔的权限列表,若不传递此参数,代表请求默认的basic权限。
如需调用扩展权限,必需传递此参数,详细请参考权限列表

2. 响应数据包格式

若已绑定开心账号,服务器将返回一段JSON文本,包含以下参数:

参数名 介绍
access_token 要获取的Access Token
expires_in Access Token的有效期,以秒为单位
refresh_token 用于刷新Access Token 的 Refresh Token,并不是所有应用都会返回该参数
scope Access Token最终的访问范围,即用户实际授予的权限列表(用户在授权页面时,
有可能会取消掉某些请求的权限)

例如:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{ 
    "access_token": "12932845_de81cfe747ad7e06f2a904e73646f04c",
    "expires_in": 2592000,
    "refresh_token": "12932845_a11e9e819933a8021291711510e011e8",
    "scope": "basic",
}

若未绑定开心账号,服务器将返回一段JSON文本,包含以下参数:

参数名 介绍
need_bind 为1表示需要绑定
bind_url 跳转到wap绑定页面的URL

例如:

HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
{
    "need_bind": 1,
    "bind_url": "http://wap.kaixin001.com/qq_bind.php?at=xxxxx&exp=11111111&openid=2222222&from=client",
}

使用微博uid获取Access Token

使用微博开放平台的token换取开心access_token,需要把微博开放平台的indentity_id发送到https://api.kaixin001.com/oauth2/access_token

1. 请求数据包格式

参数名 必选 介绍
grant_type true 固定为“password”
weibo_uid true 微博开放平台的indentity_id
client_id true 应用的API Key
client_secret true 应用的Secret Key
scope flase 以空格分隔的权限列表,若不传递此参数,代表请求默认的basic权限。
如需调用扩展权限,必需传递此参数,详细请参考权限列表

2. 响应数据包格式

若已绑定开心账号,服务器将返回一段JSON文本,包含以下参数:

参数名 介绍
access_token 要获取的Access Token
expires_in Access Token的有效期,以秒为单位
refresh_token 用于刷新Access Token 的 Refresh Token,并不是所有应用都会返回该参数
scope Access Token最终的访问范围,即用户实际授予的权限列表(用户在授权页面时,
有可能会取消掉某些请求的权限)

例如:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{ 
    "access_token": "12932845_de81cfe747ad7e06f2a904e73646f04c",
    "expires_in": 2592000,
    "refresh_token": "12932845_a11e9e819933a8021291711510e011e8",
    "scope": "basic",
}
原文地址:https://www.cnblogs.com/fx2008/p/3288753.html