1、介绍
QQ登录接口。作用是实现QQ直接登录某些网站,简化用户登录、注册流程。
现在有很多大型网站都在使用QQ互联登录功能:
X东:
X宁:
X美:
2、签约
①点击“应用管理”
image.png
②如果资料没有审核通过的话,则可以点击QQ头像填写对应的资料和上传认证的照片,提交审核即可
③当个人资料审核通过之后,就申请应用接口
④选择对应的应用类型
⑤按照要求填写资料
image.png
后续需要等待七个工作日审核。
⑥等待审核完成
当审核完成之后无论是否通过,都会得到接口的key和密钥。
在审核完成之后点击应用后面的“查看”按钮
无论是否通过都可以得到key和id,区别在于
通过审核的接口是任何人都可以实现QQ登录;
没有审核通过的,只有申请人自己的QQ可以QQ登录,其他人的QQ不行;
3、SDK的下载和配置
image
①解压压缩包
Api目录:需要的类和函数封装文件的存储目录;
Doc目录:文档目录;
Example目录:接口的demo文件;
Install目录:安装文件目录
Index.php:demo的入口文件;
②需要将其复制到当前的站点中去执行
③打开浏览器访问刚才demo的地址
④配置接口
⑤测试接口登录
点击头像
4、QQ互联接口的集成
①分析demo文件中弹窗为什么会出来
②仿照①中的操作,将弹窗打开的代码引用到当前电商项目中
修改文件User/login.html
同时需要将对应的JavaScript代码复制到当前页面,根据情况做修改:
③编写QQ登录回调地址需要的回调方法
A,当一个用户用QQ或者其他第三方快捷登录登录进系统,其身份有2种,一种是新用户,另外一个是老用户。
B,如何判断用户是新用户还是老用户?这个取决于数据表中的openid
关于openid,在腾讯体系中,openid表示用户的唯一标志,一个QQ用户的openidid对于一个网站来说永远不会变。
如果第一次写callback方法不会写,可以参考SDK。
将callback.php其中的代码复制到callback方法中,根据实际情况修改路径:
之后会报错:
原因是因为命名空间的问题,需要给QC前面添加“\”
Accesstoken是接口在数据传递过程中进行身份验证的一个临时密钥,一般都是有效期。
获取用户详细信息:
需要使用权限get_user_info
输出用户信息(一维数组)
判断当前的用户是新用户还是老用户:
测试的效果:
小窗口跳转,但是登录页面依旧还在。
理想状态下:小窗口关闭,大窗口跳转。
小窗口关闭:关闭窗口可以使用window.close();
大窗口跳转:可以使用JavaScript里的opener属性;
补充:如果接口出现-1错误,需要按照以下方式进行解决
再次实例化QC类