好久没有写文章了,写得不好,大家见谅,话不多说,直接说怎么做。
首先整合QQ三方登录需要获得腾讯的APP ID和APP KEY
那么怎么获取APP ID 和APP KEY呢?
1、登录QQ互联平台,登录地址为http://connect.qq.com/manage/login,登录成功后,进入管理中心,创建应用,在创建应用的时候注意:网址必须是这个三方登录应用的网址,不是不能通过审核,三个月后APPID等会被腾讯收回,当然这个审核通过后就可以随便使用了。,你创建成功后,在管理中心页面点击你的应用就可以查看到APP ID 和APP KEY。
获取APP ID 和APP KEY算是第一步,已经完成,但是只能试用三个月额,三个月后腾讯会收回APP ID 和APP KEY,所以必须通过审核,没有通过审核还是可以用,只能测试账号才能登录,测试账号为你创建应用的账号。
2、在网页中如何能使用QQ三方登录呢,,怎么才会出现这样的呢?。注意:这个并不是我们自己布局给写出来的,只要你把放这个得地方给空出来,把这段代码放在那个位置即可,代码为:
<a href='https://graph.qq.com/oauth2.0/authorize?client_id=APPID&response_type=code&scope=all&redirect_uri=http%3A%2F%2F回调地址'><img border="0" alt="QQ登录" src="http://qzonestyle.gtimg.cn/qzone/vas/opensns/res/img/Connect_logo_3.png"></img></a>
只要放上上面这段代码及可以出现上面的图标,这个是简化了腾讯给的demo,你也可以按照腾讯给的demo去做,所以这个看个人习惯。
3、写了上面的代码后你点击就会出现
这样的搜权页面来进行三方登录,只要出现这个界面就表示可以进行三方登录了,那么我们就需要来写你填写的回调地址的这个方法。
4、编写QQ三方登录成功后调用的回调地址方法,在回调地址里面可以直接写上你想回调的URL,例如:www.XXX.com/login/qqlogin.do,www.XXX.com/login/qqlogin.action等,不同的框架写法不一致,然后再这个方法里面写上你自己需要的逻辑处理及可。
一般我们都会去获取用户的openid,这样来作为用户的唯一标示,那么怎么去获取用户的openid呢?。下面继续说:
5、获取用户的openid,在上面需要出现QQ登录的图标的时候,我们填写了一个红色的response_type,值为code,这个表示在回调的时候返回code,也可以直接填写token,但是不建议这样做。那么这个用来干什么,他就用来获取用户的token。然后获取到token后就能获取用户的openid了。下面讲怎么获取token。
6、获取用户token,获取用户token地址为:https://graph.qq.com/oauth2.0/token,参数为:
grant_type=authorization_code&client_id=APPID&client_secret=APPKEY&code="+code+"&redirect_uri=http%3A%2F%2F回调地址,和上面写一样即可。请求方式为get。成功后他返回的数据格式为:
access_token=FE04************************CCE2&expires_in=7776000&refresh_token=88E4************************BE14这样的数据。
返回值中的三个参数介绍,access_token:这个就是token,expires_in:该access token的有效期,单位为秒。refresh_token:在token失效后授权自动续期步骤中,获取新的Access_Token时需要提供的参数。
这个返回来的数据可以直接不动,直接登录获取openid的时候作为参数传递即可,你有强迫症的话,你也可以把token给单独弄出来。
7、获取openid,获取openid地址为:https://graph.qq.com/oauth2.0/me,参数为:上一步中获取到的access_token,所以我说刚才的返回直接可以不动,作为参数即可,请求方式为get。成功后返回:
callback({"client_id":"YOUR_APPID","openid":"YOUR_OPENID"});
这下就得自己把里面的openid给获取出来了,获取的方式多样化,怎么习惯怎么弄。
还有更多的功能,例如:发表一条微博什么的,具体的可以查看API列表,就怎么怎么使用了。