首先qq互联申请APP ID和APP KEY
APP ID:1...0
APP KEY:J...X
回调地址 http://***.ngrok.cc/qqCallback
1、获取Code
Step1:获取Authorization Code
- 请求地址:https://graph.qq.com/oauth2.0/authorize
- 请求方法:GET
- 请求参数:response_type client_id redirect_uri state
- 返回结果:http://graph.qq.com/demo/index.jsp?code=9A5F************************06AF&state=test
Step2:通过Authorization Code获取Access Token
- 请求地址:https://graph.qq.com/oauth2.0/token
- 请求方法:GET
- 请求参数:grant_type client_id client_secret code redirect_uri
- 返回结果:access_token=AA19E533D786755CC7A2DB8881FCBC61&expires_in=7776000&refresh_token=3A4417E66CA8E7087D791CBFE2439571
2、通过Access Token获取OpenID
- 请求地址: https://graph.qq.com/oauth2.0/me
- 请求方法:GET
- 请求参数:access_token
- 返回结果:callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
3、调用OpenAPI获取用户信息
前提说明:
该appid已经开通了该OpenAPI的使用权限。从API列表的接口列表中可以看到,有的接口是完全开放的,有的接口则需要提前提交申请,以获取访问权限。
准备访问的资源是用户授权可访问的。网站调用该OpenAPI读写某个openid(用户)的信息时,必须是该用户已经对你的appid进行了该OpenAPI的授权(例如用户已经设置了相册不对外公开,则网站是无法读取照片信息的)。用户可以进入QQ空间->设置->授权管理进行访问权限的设置。
已经成功获取到Access Token,并且Access Token在有效期内。
请求方法:GET
请求参数:access_token oauth_consumer_key openid
返回结果:
{
"ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
}
最终获得用户信息根据申请的API权限不同而不同,如果只是简单的get_user_info权限,则能获得的用户信息包括:
avatar gender level nickname(比微信抠...)