QQ第三方登录实例demo(QQSDK包优化)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 21:58   53   0



实现效果:


实现流程:


1、注册QQ互联开发者

QQ互联官网

注册成为开发者(需要审核)


2、审核通过之后

申请应用(需要互联人员审核*需要备案成功的线上域名)


下面我们开始下载QQsdk包

QQsdk包

我下载的是PHP


下载之后放在域名根目录下

访问 域名/Connect2.1


输入appId 、appkey 、以及回调地址:域名/Connect2.1/callpack.php(也可以按照例子面试试) 一般只点击 getuserinfo


完成


优化SDK包

1、将em../auth/callbac.php 放到connect2.1目录下 将除了API目录以外的目录全部删除 并将API下的所有文件及目录移动到connect2.1/下 删除API


2、打开 qqConnectAPI.php 修改

  1. <?php
  2. session_start();
  3. /* PHP SDK
  4. * @version 2.0.0
  5. * @author connect@qq.com
  6. * @copyright 2013, Tencent Corporation. All rights reserved.
  7. */
  8. //require_once(dirname(__FILE__)."/comm/config.php");
  9. //修改ROOT 为QQ_CONNECT_ROOT
  10. //修改CLASS_PATH 为 QQ_CLASS_PATH 为了避免与本地项目常量冲突 将整个个connect2.1下的全部替换
  11. define("QQ_CONNECT_ROOT",dirname(__FILE__)."/");
  12. define("QQ_CLASS_PATH",QQ_CONNECT_ROOT."class/");
  13. require_once(QQ_CLASS_PATH."QC.class.php");

3、删除comm 下的conf.php 以及utils.php

4.修改 class 下的Recorder.class.php

  1. public function __construct(){
  2. $this->error = new ErrorCase();
  3. //将comm/下的inc.php 信息 复制过来 并删除inc.php 并删除comm目录
  4. $incFileContents = '{"appid":"101337757","appkey":"f6588ae8cc52093202d92f6ee33d9af9","callback":"http://www.qqq.com/callback.php","scope":"get_user_info","errorReport":true,"storageType":"file","host":"localhost","user":"root","password":"root","database":"test"}'
  5. //-------读取配置文件
  6. //$incFileContents = file(ROOT."comm/inc.php");
  7. // $incFileContents = $incFileContents[1];
  8. // $this->inc = json_decode($incFileContents);
  9. /********/
  10. //将上列的contents 转位下列的模式
  11. $this->inc->appid = "101337757";
  12. $this->inc->appkey = "f6588ae8cc52093202d92f6ee33d9af9";
  13. $this->inc->callback = "http://www.qqq.com/callback.php";
  14. $this->inc->scope = "get_user_info";
  15. $this->inc->errorReport = true;
  16. $this->inc->storageType = "file"
  17. $this->inc->host = "localhost";
  18. $this->inc->user = "root";
  19. $this->inc->password = "root";
  20. $this->inc->database = "test";
  21. /********/
  22. if(empty($this->inc)){
  23. $this->error->showError("20001");
  24. }
  25. if(empty($_SESSION['QC_userData'])){
  26. self::$data = array();
  27. }else{
  28. self::$data = $_SESSION['QC_userData'];
  29. }
  30. }

完成!

在根目录下定义:

function.php

  1. <?php
  2. /**
  3. * [debug 调试输出函数]
  4. * @param [mix] $val [调试输出源]
  5. * @param [bool] $dump [是否启用var_dump调试]
  6. * @param boolean $exit [是否在调试结束后设置断点]
  7. * @return [void]
  8. */
  9. function debug($val,$dump=flase,$exit=true){
  10. //自动或区域调试函数名称$func
  11. if($dump){
  12. $func = 'var_dump';
  13. }else{
  14. $func = (is_array($val) || is_object($val)) ? 'print_r' : 'printf';
  15. }
  16. //输出到html
  17. header("Content-type:text/html;charset=utf-8");
  18. echo "<pre>debug output:<hr/>";
  19. $func($val);
  20. echo '</pre>';
  21. if($exit) exit;
  22. }
  23. ?>

定义:qqlogin.php

  1. <?php
  2. require_once 'function.php';
  3. require_once 'Connect2.1/qqConnectAPI.php';
  4. //访问QQ的登录页面
  5. $oauth = new Oauth();
  6. $oauth->qq_login();
  7. ?>


建立index.html

将qq登陆图片放入页面中、点击跳入到qqlogin.php




修改callback.php

  1. <?php
  2. require_once("./qqConnectAPI.php");
  3. $qc = new QC();
  4. echo $qc->qq_callback();
  5. echo $qc->get_openid();


完成!!!!!!


原文地址:点击打开链接


实现效果:


实现流程:


1、注册QQ互联开发者

QQ互联官网

注册成为开发者(需要审核)


2、审核通过之后

申请应用(需要互联人员审核*需要备案成功的线上域名)


下面我们开始下载QQsdk包

QQsdk包

我下载的是PHP


下载之后放在域名根目录下

访问 域名/Connect2.1


输入appId 、appkey 、以及回调地址:域名/Connect2.1/callpack.php(也可以按照例子面试试) 一般只点击 getuserinfo


完成


优化SDK包

1、将em../auth/callbac.php 放到connect2.1目录下 将除了API目录以外的目录全部删除 并将API下的所有文件及目录移动到connect2.1/下 删除API


2、打开 qqConnectAPI.php 修改

  1. <?php
  2. session_start();
  3. /* PHP SDK
  4. * @version 2.0.0
  5. * @author connect@qq.com
  6. * @copyright 2013, Tencent Corporation. All rights reserved.
  7. */
  8. //require_once(dirname(__FILE__)."/comm/config.php");
  9. //修改ROOT 为QQ_CONNECT_ROOT
  10. //修改CLASS_PATH 为 QQ_CLASS_PATH 为了避免与本地项目常量冲突 将整个个connect2.1下的全部替换
  11. define("QQ_CONNECT_ROOT",dirname(__FILE__)."/");
  12. define("QQ_CLASS_PATH",QQ_CONNECT_ROOT."class/");
  13. require_once(QQ_CLASS_PATH."QC.class.php");

3、删除comm 下的conf.php 以及utils.php

4.修改 class 下的Recorder.class.php

  1. public function __construct(){
  2. $this->error = new ErrorCase();
  3. //将comm/下的inc.php 信息 复制过来 并删除inc.php 并删除comm目录
  4. $incFileContents = '{"appid":"101337757","appkey":"f6588ae8cc52093202d92f6ee33d9af9","callback":"http://www.qqq.com/callback.php","scope":"get_user_info","errorReport":true,"storageType":"file","host":"localhost","user":"root","password":"root","database":"test"}'
  5. //-------读取配置文件
  6. //$incFileContents = file(ROOT."comm/inc.php");
  7. // $incFileContents = $incFileContents[1];
  8. // $this->inc = json_decode($incFileContents);
  9. /********/
  10. //将上列的contents 转位下列的模式
  11. $this->inc->appid = "101337757";
  12. $this->inc->appkey = "f6588ae8cc52093202d92f6ee33d9af9";
  13. $this->inc->callback = "http://www.qqq.com/callback.php";
  14. $this->inc->scope = "get_user_info";
  15. $this->inc->errorReport = true;
  16. $this->inc->storageType = "file"
  17. $this->inc->host = "localhost";
  18. $this->inc->user = "root";
  19. $this->inc->password = "root";
  20. $this->inc->database = "test";
  21. /********/
  22. if(empty($this->inc)){
  23. $this->error->showError("20001");
  24. }
  25. if(empty($_SESSION['QC_userData'])){
  26. self::$data = array();
  27. }else{
  28. self::$data = $_SESSION['QC_userData'];
  29. }
  30. }

完成!

在根目录下定义:

function.php

  1. <?php
  2. /**
  3. * [debug 调试输出函数]
  4. * @param [mix] $val [调试输出源]
  5. * @param [bool] $dump [是否启用var_dump调试]
  6. * @param boolean $exit [是否在调试结束后设置断点]
  7. * @return [void]
  8. */
  9. function debug($val,$dump=flase,$exit=true){
  10. //自动或区域调试函数名称$func
  11. if($dump){
  12. $func = 'var_dump';
  13. }else{
  14. $func = (is_array($val) || is_object($val)) ? 'print_r' : 'printf';
  15. }
  16. //输出到html
  17. header("Content-type:text/html;charset=utf-8");
  18. echo "<pre>debug output:<hr/>";
  19. $func($val);
  20. echo '</pre>';
  21. if($exit) exit;
  22. }
  23. ?>

定义:qqlogin.php

  1. <?php
  2. require_once 'function.php';
  3. require_once 'Connect2.1/qqConnectAPI.php';
  4. //访问QQ的登录页面
  5. $oauth = new Oauth();
  6. $oauth->qq_login();
  7. ?>


建立index.html

将qq登陆图片放入页面中、点击跳入到qqlogin.php




修改callback.php

  1. <?php
  2. require_once("./qqConnectAPI.php");
  3. $qc = new QC();
  4. echo $qc->qq_callback();
  5. echo $qc->get_openid();


完成!!!!!!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP