PHP网站接入QQ互联实现QQ登录获取用户信息功能,超级简单,三个文件就搞定,无需费力地去了解官方提供的一大堆Demo文件

一、 在QQ互联官网上注册开发者账号、获取APP ID和APP Key

QQ互联的官网:https://connect.qq.com/

在这里插入图片描述
在这里插入图片描述
根据步骤按部就班的来就行了。

在创建应用的时候,基本信息要认真填,一般第二天就会审核好,我当时不知道怎么填,在这里浪费了好几天时间呢

此处网站名称必须得和备案的域名信息一致
在这里插入图片描述
网站回调地址很简单,备案过的域名就行了,但是注意回调域,要填该网站地址下的子级目录,回调域就是登录成功后的回调地址,当用户使用QQ登录成功时,会自动跳转到这个回调页面下,所以开发者可以在里面处理一些数据库或者是Session的操作
在这里插入图片描述
创建好了一个应用后,就可以获得APP ID和APP Key:
在这里插入图片描述
官方文档教程:https://wiki.connect.qq.com/准备工作_oauth2-0
在这里插入图片描述


二、PHP的QQ登录代码下载

我之所以在文章标题说我写的登录调用超简单,是因为我就只用到了三个文件(如下图所示),下载地址:https://download.csdn.net/download/jal517486222/11347475 , 文中也给出了这三个文件的完整代码。
在这里插入图片描述

如果去QQ互联网站上下载PHP版本demo的话,会发现demo中有好多个文件夹,文件夹里又有好几个文件,让人都看不下去。

如果你接入QQ只是为了获取用户的昵称、性别、头像这些不用授权的信息,那直接参考我的代码就行了,我的代码就是从官方demo的代码提炼出来的三个文件,绝对非常方便实用。


三、代码使用(代码解释见注释)

1. 首先在页面上放置一个QQ登录的链接或者按钮

我是在登录页面和个人后台管理页面都放置了一个QQ登录的图片按钮,为的是让用户可以在个人后台点击按钮绑定QQ,绑定后以后在登录页面时就可以使用QQ登录了。这个QQ登录图片可以在QQ互联的网站上下载的。
这里代码比较简单,主要就是一个QQ登录的链接,所以这个代码我就没放到上面的QQ_Oauth文件夹里了。

  • 下图是用户后台绑定QQ:
    在这里插入图片描述

关键代码如下:

 <p>QQ绑定(开发中)<?php
		 if(empty($openId)){
   //$openId是在数据库的users表中查看当前用户是不是已经绑定过了QQ
		     echo ' <a href="#" οnclick=\'toLogin()\'><img src="../image/QQ_login.png"></a>';
		 }else{
   
		     echo $QQ_nick;
		     echo '<a class="layui-btn layui-btn-xs layui-btn-danger" href="#" οnclick=\'unbind()\'>解除绑定</a>';
		 }
	 ?>
 </p>
<script>
function toLogin()
{
   
     //以下为按钮点击事件的逻辑。注意这里要重新打开窗口
     //否则后面跳转到QQ登录,授权页面时会直接缩小当前浏览器的窗口,而不是打开新窗口
     var A=window.open("../QQ_Oauth/index.php","TencentLogin","width=700,height=500,menubar=0,scrollbars=1,resizable=1,status=1,titlebar=0,toolbar=0,location=1");
    
    //定时判断是否新窗口已经被关闭了,如果被关闭了,则执行刷新页面的操作。
     var loop = setInterval(function() {
   
         if(A.closed) {
   
             clearInterval(loop);
             //alert('closed');
             parent.location.reload();
         }
     }, 1);
 }
 function unbind(){
   
     //解除QQ绑定
     if(confirm("你确定要解除此账号当前绑定的QQ吗?")){
   
     //我在这里的解绑操作就是清空了当前用户的users表中的openID字段就行了。
         $.post("doPost.php?action=unbindQQ", {
   }, function(r){
   
             if($.trim(r)==='success'){
   
                 alert("解除绑定成功!");
                 window.location.reload();
             }else{
   
                 alert("解除绑定失败!");
             }
         });
     }
 }
</script
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值