QQ第三方平台授权登录教程

首先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在有效期内。

  • 请求地址: https://graph.qq.com/user/get_user_info

  • 请求方法:GET

  • 请求参数:access_token oauth_consumer_key openid

  • 返回结果:

{
    "ret":0,
    "msg":"",
    "nickname":"YOUR_NICK_NAME",
    ...
}

最终获得用户信息根据申请的API权限不同而不同,如果只是简单的get_user_info权限,则能获得的用户信息包括:
avatar gender level nickname(比微信抠...)

你可能感兴趣的:(QQ第三方平台授权登录教程)