当前位置:首页 > 技术教程 > 脚本编程 > 正文内容

PHP原生对接QQ互联/实现QQ登录,SDK2.1版本/超级详细!

atao4年前 (2020-10-21)脚本编程3334

在目前在大部分网站中都会接入QQ登录或者微信登录,目前QQ互联的接入门槛是比较低的,官方的前提是必须备案网站!!如果网站没有备案请某宝自行搜索一下其他方法。用QQ登录接口,首先要到QQ互联完善开发者认证信息,并通过审核,然后创建一个网站应用,获得APP ID和APP Key,通过审核后即可调用基本接口get_user_info(获得用户信息),实现QQ登录网站功能。

QQ互联:https://connect.qq.com/

开发文档:https://wiki.connect.qq.com/

1、通过开发者审核,具体怎么申请自行百度了解

image.png

2、添加网站应用,并且通过审核(审核中状态不行)

image.png

网站名称和备案保持一致

image.png

网站地址:此处要填你要实现登录的域名,比如我的网站是http://www.baidu.com那就只能填http://www.baidu.com,填https://www.baidu.com和http://baidu.com都是错的!!

网站回调地址:如果你的网站是原生的,那根据自己的需求填写,如果你是框架或者CMS的请咨询服务商获取!!

image.png

这里在说明一下:首次创建应用的审核中是不可以使用的!!但是在审核通过之后在修改的时候显示的审核中是可以用的!!!

本次示例的信息为

网站地址:http://wind.com/

网站回调地址:http://wind.com/connect.php

3、获取应用的ID和key

5、下载官方SDK

SDK下载(这里演示的是2.1版本)


5、解压文件并整理文件

image.png

(1)首先,把整体文件包放在PHP运行目录下,运行该目录开始设置配置项

image.png

(2)首先,把整体文件包放在PHP运行目录下,运行该目录开始设置配置项。这里注意啦!!!appid和appkey和callback(回调地址)保持高度一致,要一模一样!!回调地址要带协议头,不能填相对路径!!

image.png

(3)开始整理需要的文件(重要)

(3.1)把example\oauth文件夹下的callback.php重命名为connect.php,并放到根目录(回调文件)

(3.2)修改connect.php文件的require_once("../../API/qqConnectAPI.php");修改为require_once("API/qqConnectAPI.php");

(3.3)example\oauth文件夹下的index.php移动到API目录下(调用登录的文件)

(3.4)修改index.php文件的require_once("../../API/qqConnectAPI.php");修改为require_once("qqConnectAPI.php");

(3.5)connect.php文件和API文件夹,删除其他文件和文件夹

6、测试程序是否正常

这里就不放演示了,如果登录成功了会返回一长串的字母+数字

7、根据自己项目修改回调文件(connect.php)

<?php
require_once("API/qqConnectAPI.php");
$qc = new QC();
$acs = $qc->qq_callback();
$oid = $qc->get_openid();
$qc = new QC($acs,$oid);
$arr = $qc->get_user_info();
$sex = $arr["gender"]; //性别
$name = $arr["nickname"]; //姓名

//开始判断是否获取到openid
if(strlen($oid)>=1){
        echo "执行到这里就是登陆成功了,可以写自己的代码了";
}

注意:如果网站接入的话,直接A连接跳转到API文件夹就可以调起QQ登录了!

关于报错:The state does not match. You may be a victim of CSRF. 说明是回调地址有问题。

关于报错:如果第一次登陆成功,第二次失败说明是缓存有问题,ctrl+f5清楚缓存在试试。

关于报错:如果有其他保存请查看官方文档 https://wiki.connect.qq.com/

扫描二维码推送至手机访问。

版权声明:本文由武景涛的博客发布,如需转载请注明出处。

本文链接:http://yizhanhongtu.cn/post/33.html

分享给朋友:

相关文章

php原生代码实现短信验证码注册业务,流程详解附demo

php原生代码实现短信验证码注册业务,流程详解附demo

业务流程:用户在前端输入手机号后发送验证码请求,并发送到php处理页。php处理页收到手机号,生成验证码并调用短信平台。短信平台采用API对接,并发送验证码用户收到验证码,并提交注册php处理页收到验...

Ajax实现php页面下拉加载翻页(从mysql中获取数据)

Ajax实现php页面下拉加载翻页(从mysql中获取数据)

下拉翻页是通过ajax请求,把页码传入php处理页,在php处理页中获得分页后到数据库中查询数据并返回json数组对象。演示图操作之前先建数据库,百度自行下载JQ库!基本流程:1.在首页中调用6条数据...

组织结构图OrgChart.js的简单使用,实现树状图结构

组织结构图OrgChart.js的简单使用,实现树状图结构

OrgChart.js是什么?基于ES6的组织结构图插件。特征支持本地数据和远程数据(JSON)。基于CSS3过渡的平滑扩展/折叠效果。将图表对齐为4个方向。允许用户通过拖放节点更改组织结构。允许用户...

php微信支付类下载,包含统一下单、回调、退款方法。

php微信支付类下载,包含统一下单、回调、退款方法。

微信支付全流程类文件,包含:统一下单接口、回调验证、微信退款、xml转换、签名生成和CURL等方法,自用类文件非常全,希望大家可以借鉴。另外注意1、下载后的类文件在一个pay的文件夹。2、类文件会带有...

php基于QRcode类生成二维码,类文件下载

php基于QRcode类生成二维码,类文件下载

使用PHP语言生成二维码,还是挺有难度的,除了调用生成二维码图片的接口除外,如果自己写代码生成,真的无从下手。然而,我们可以使用phpqrcode这个现成的类文件,PHP二维码生成类库,利用它可以轻松...