QQ第三方登录实例demo(QQSDK包优化)
实现效果:
实现流程:
1、注冊QQ互联开发人员
注冊成为开发人员(须要审核)
2、审核通过之后
申请应用(须要互联人员审核*须要备案成功的线上域名)
以下我们開始下载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 改动
<?php
session_start();
/* PHP SDK
* @version 2.0.0
* @author connect@qq.com
* @copyright © 2013, Tencent Corporation. All rights reserved.
*/ //require_once(dirname(__FILE__)."/comm/config.php");
//改动ROOT 为QQ_CONNECT_ROOT
//改动CLASS_PATH 为 QQ_CLASS_PATH 为了避免与本地项目常量冲突 将整个个connect2.1下的所有替换 define("QQ_CONNECT_ROOT",dirname(__FILE__)."/");
define("QQ_CLASS_PATH",QQ_CONNECT_ROOT."class/"); require_once(QQ_CLASS_PATH."QC.class.php");
3、删除comm 下的conf.php 以及utils.php
4.改动 class 下的Recorder.class.php
public function __construct(){
$this->error = new ErrorCase();
//将comm/下的inc.php 信息 复制过来 并删除inc.php 并删除comm文件夹
$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"}'
//-------读取配置文件
//$incFileContents = file(ROOT."comm/inc.php");
// $incFileContents = $incFileContents[1];
// $this->inc = json_decode($incFileContents);
/********/
//将上列的contents 转位下列的模式
$this->inc->appid = "101337757";
$this->inc->appkey = "f6588ae8cc52093202d92f6ee33d9af9";
$this->inc->callback = "http://www.qqq.com/callback.php";
$this->inc->scope = "get_user_info";
$this->inc->errorReport = true;
$this->inc->storageType = "file"
$this->inc->host = "localhost";
$this->inc->user = "root";
$this->inc->password = "root";
$this->inc->database = "test";
/********/
if(empty($this->inc)){
$this->error->showError("20001");
}
if(empty($_SESSION['QC_userData'])){
self::$data = array();
}else{
self::$data = $_SESSION['QC_userData'];
}
}
完毕!
在根文件夹下定义:
function.php
<?php /**
* [debug 调试输出函数]
* @param [mix] $val [调试输出源]
* @param [bool] $dump [是否启用var_dump调试]
* @param boolean $exit [是否在调试结束后设置断点]
* @return [void]
*/
function debug($val,$dump=flase,$exit=true){
//自己主动或区域调试函数名称$func
if($dump){
$func = 'var_dump';
}else{
$func = (is_array($val) || is_object($val)) ? 'print_r' : 'printf';
} //输出到html
header("Content-type:text/html;charset=utf-8");
echo "<pre>debug output:<hr/>";
$func($val);
echo '</pre>';
if($exit) exit;
} ?>
定义:qqlogin.php
<? php
require_once 'function.php';
require_once 'Connect2.1/qqConnectAPI.php'; //訪问QQ的登录页面
$oauth = new Oauth();
$oauth->qq_login(); ?>
建立index.html
将qq登陆图片放入页面中、点击跳入到qqlogin.php
改动callback.php
<?php
require_once("./qqConnectAPI.php");
$qc = new QC();
echo $qc->qq_callback();
echo $qc->get_openid();
完毕!。。。!!
项目中截图调取API 演示样例 :
QQ第三方登录实例demo(QQSDK包优化)的更多相关文章
- Android 实现QQ第三方登录
Android 实现QQ第三方登录 在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了. 首先肯定是去下载SDK和DEMO http://wi ...
- PHP实现QQ第三方登录
PHP实现QQ第三方登录 学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博 ...
- Android应用之——最新版本号SDK V2.4实现QQ第三方登录
为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...
- web实现QQ第三方登录
开放平台-web实现QQ第三方登录 应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com ...
- thinkphp5.0 QQ第三方登录详解
一.前期准备工作 到QQ互联官网进行开发资质认证,并创建网站应用.获取到appid和appkey后,下载demo文件. demo文件下载方式:QQ互联>文档资料>SDK及资源下载>p ...
- 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样
使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 ...
- 【第三方登录】之QQ第三方登录
最近公司做了个网站,需要用到第三方登录的东西.有QQ第三方登录,微信第三方登录.先把QQ第三方登录的代码列一下吧. public partial class QQBack : System.Web.U ...
- QQ第三方登录
QQ第三方登录 在Android应用程序的开发过程中,很多时候需要加入用户登录/注册模块.除了自己动手设计登录界面并实现相应功能外,现在还可以借助百度.腾讯等开发者平台提供的第三方账号登录模块.最近研 ...
- 利用JS_SDK实现QQ第三方登录
前言 现如今,第三方登录已成为大部分网站必备的一项基础技能,引入时髦的第三方登录不仅能帮你吸引更多的用户,也让你的网站可以充分利用其他大型网站的用户资源.本次教程将让你的网站最快捷便利地引入QQ登录. ...
随机推荐
- C++面向对象程序设计的一些知识点(2)
1.C++中三种继承方式及派生类中访问控制规则 (1).C++支持的三种继承方式是public.protected.private.C++允许一个类同时以不同的方式对不同的基类加以继承. (2). 不 ...
- Java Callable并发编程模板
submit方法会产生Future对象,它用Callable返回结果的特定类型进行了参数化,可以用isDone()的方法来查询Future是否已经完成.当任务完成是,它具有一个结果,可以调用get() ...
- C#中关于系统用户信息持久化(接上文)
首先传几张效果图描述一下功能: 经过上文用户名和密码的验证后,就到了添加用户这一步,登陆后的用户可以添加新的用户,被添加的用户可以登陆系统. 这里会用到C#中的“正则表达式”对用户名格式进行判断,以及 ...
- AES加解密JS和php互相处理字符
Reference: http://blog.csdn.net/carlos__z/article/details/53185082 JavaScript code? 1 2 3 4 5 6 7 8 ...
- 【精】C# 中的委托和事件(转)
C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 ...
- poj3208 Apocalypse Someday 数位dp+二分 求第K(K <= 5*107)个有连续3个6的数。
/** 题目:poj3208 Apocalypse Someday 链接:http://poj.org/problem?id=3208 题意:求第K(K <= 5*107)个有连续3个6的数. ...
- Linux启动与禁止SSH用户及IP的登录
以下就针对SSH方面讨论一下.假设有人特别关注Linux环境的安全性,第一就从login方面来进行讨论 1:Linux启动或禁止SSH root用户的登录 2:Linux限制SSH用户 事实上这些东西 ...
- 基于wsdl2java訪问外来service服务
一.wsdl2java介绍 Wsdl2java是cxf提供的一个用于生成client代码的工具,它的功能跟wsimport差点儿相同. 可是wsdl2java工具仅仅能生成訪问基于cxf公布的服务的代 ...
- iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种
iOS应用数据存储的常用方式: XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3--这里暂且不讲 Core D ...
- 本地Git仓库和远程仓库的创建及关联
新建一个远程的仓库(空的) 新建一个远程仓库 设置远程仓库的名字,并创建 设置仓库名 切记:如果我们在创建远程仓库的时候添加了README和.ignore等文件,我们在后面关联仓库后,需要先执行pul ...