第一步:去腾讯开放平台或者QQ互联创建一个应用并且通过审核。
网址: http://connect.qq.com/ 需要一个有备案号的域名,可以去万网注册并且利用阿里云的备案系
统进行,剩下的按照腾讯的要求来做。需要注意的是网站回调地址(域)可以具体到某个文件或者方法,因
为,当用户确认授权后会返回数据到你指定的回调地址。
第二步:下载PHP SDK并解压放到自己的项目中
下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
需要注意的是:这些SDK是比较旧了,没有命名空间,如果必须要使用命名空间的话。
建议参考:https://packagist.org/packages/kuange/qqconnect 这个类库。
下面几步都是按照旧的SDK包进行的。
第三步:运行PHP SDK的文件夹(connect2.1)
按照表格填写APP ID和APP Key 和回调地址(需要与注册时一致),并且勾选自己需要的功能,QQ
登录的话只需要勾选get_user_info,点击配置。然后就可以删除connect2.1文件夹下除了API
文件夹的所有的文件,想要了解其他功能。
网址:http://wiki.open.qq.com/wiki/website/API%E5%88%97%E8%A1%A8
第四步:在自己的网站上加入“使用QQ登录的图标”。
,获取QQ图标可以到下面
网址:http://wiki.connect.qq.com/%E7%BD%91%E7%AB%99%E5%89%8D%E7%AB%AF%E9%A1%B5%E9%9D%A2%E8%A7%84%E8%8C%83
第五步:在openQQLogin.php中编写代码
目的是跳转到QQ互联提供的登录页面中(第四步中的openQQLogin.php),让用户登录,代码如下
require_once('qqConnectAPI');//引入PHP SDK的核心文件(connect2.1/API/qqConnectAPI)
$oauth = new Oauth();//实例化
$oauth->qq_login();//跳转到QQ互联提供的登录页面中
第六步:处理授权信息
当用户输入自己的账号和密码,或者扫码登录成功后,会将数据(code)返回到QQ互联创建的应用的回调
地址中。(SDK的代码已经帮我们处理了code)。代码如下:
require_once('qqConnectAPI');//引入PHP SDK的核心文件(connect2.1/API/qqConnectAPI)
$oauth = new Oauth();//实例化
$qq_access_token = $oauth->qq_callback();//调用该方法获取access_token(用于获取用户数据的参数)
$qq_openid = $oauth->get_openid();//调用该方法获取openid(用于获取用户数据的参数)
第七步:获取用户数据
代码如下:
$qc = new QC($qq_access_token, $qq_openid);//将access_token和openid作为参数实例化QC对象
$userInfo = $qc->get_user_info();//调用QC对象的get_user_info方法获取数据
第八步:将数据放入数据库
进行各种操作。自此完成。get_user_info返回参数一览
网站:http://wiki.open.qq.com/wiki/website/get_user_info
为什么会有QQ互联和腾讯开放平台?这是历史遗留问题,不影响操作。
如有疑问可以评论进行交流,欢迎指出错误和不足