PHP接口_QQ互联接口

原文链接

1、介绍

QQ登录接口。作用是实现QQ直接登录某些网站,简化用户登录、注册流程。

现在有很多大型网站都在使用QQ互联登录功能:

X东:

X宁:

X美:

2、签约

官网:http://connect.qq.com

①点击“应用管理”

②如果资料没有审核通过的话,则可以点击QQ头像填写对应的资料和上传认证的照片,提交审核即可

③当个人资料审核通过之后,就申请应用接口

④选择对应的应用类型

⑤按照要求填写资料

后续需要等待七个工作日审核。

 

⑥等待审核完成

当审核完成之后无论是否通过,都会得到接口的key和密钥。

在审核完成之后点击应用后面的“查看”按钮

无论是否通过都可以得到key和id,区别在于

通过审核的接口是任何人都可以实现QQ登录;

没有审核通过的,只有申请人自己的QQ可以QQ登录,其他人的QQ不行;

3、SDK的下载和配置

下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD

①解压压缩包

Api目录:需要的类和函数封装文件的存储目录;

Doc目录:文档目录;

Example目录:接口的demo文件;

Install目录:安装文件目录

Index.php:demo的入口文件;

②需要将其复制到当前的站点中去执行

③打开浏览器访问刚才demo的地址

④配置接口

⑤测试接口登录

点击头像

4QQ互联接口的集成

①分析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类

你可能感兴趣的:(PHP,PHP进阶)