QQ互联申请及配置

QQ互联申请及配置

今天要说的只是针对QQ互联的操作,其他的互联请参考相关网站。

第一步:需要申请API接口的两码

自行登录QQ互联https://connect.qq.com/index.html,然后按照要求申请就OK啦。

one

过几天你会收到一封审核通过的邮件:

five

第二步:互联开始

首先假设我的网站有一个登陆按钮,那么这个按钮指向哪里呢?

所以第一个就是我们需要找的登陆,这里的话我是放在common控制器下的loginqq方法,所以我的按钮写的是:

<a href="{:U('Common/loginqq',array("type"=>"qq"))}" class="from" >QQ访问</a>

需要注意的是:你网站第一次申请的时候,请用QQ的图标来代替文字,不然申请不通过的

对应的函数代码:

//QQ登陆
public function loginqq($type = null) {empty($type) && $this->error('参数错误');import('Org.ThinkSDK.ThinkOauth');$sns = ThinkOauth::getInstance($type);redirect($sns->getRequestCodeURL());}

因为需要第三方类库,所以在头部需要use一下 use ThinkOauth;

第三方类库请到上一篇文章或者下载区找。

two

第三步:设置配置参数

因为你的参数需要传递给服务器,这样才能远程获取返回的token,用openid和token才能拿到用户的信息。

<?php
/**
* 等三方登陆插件配置
* @date: 2017年12月20日
* @author: yumaster
* @return:
*/
$SITE_URL = "http://yumaster.net/";
define('URL_CALLBACK', "" . $SITE_URL . "Home/Common/callback?type=");
return array(    #腾讯QQ登录配置'THINK_SDK_QQ' => array('APP_KEY' => '101445751', # APP ID'APP_SECRET' => '85df045b8b38bbad049a9874337ee5b6', # KEY'CALLBACK' => URL_CALLBACK . 'qq',),),
);

所以这个配置是需要自己在网站添加的,我的做法是单独的sdk.php,然后再config.php中 'LOAD_EXT_CONFIG'  加载进来的

需要注意的是:

1.你的网站要填写正确的回调地址,保证要和QQ互联上填写的一样,修改其中一个之后,另一个也要及时修改。否则很难找到这个原因

2.填写在QQ互联的地址是不需要填写参数的,所以这里后面的 ?type=qq 在QQ互联的后台是没有的

3.在传递参数的时候是不允许 yumaster.net/Home/Common/callback/type/qq 这样的写法是错的,需要用 ? 来实现

到这里之后,我们可以在类库中打印出来查看我们的信息是否填写正确,在 ThinkPHP/Library/Org/ThinkSDK/ThinkOauth.class.php 的169行添加:

dump($params);die;

来打印自己的参数是否传递进去,实际上可以不用操作,直接看是不是报错就可以了。

three

第四步:增加回调函数

在上面我们写的回调地址对应的写上回调方法:common/callback

//QQ登陆回调
public function callback($type = null, $code = null) {//防止乱码header("Content-type: text/html; charset=utf-8");(empty($type) || empty($code)) && $this->error('参数错误');import('Org.ThinkSDK.ThinkOauth');$sns = ThinkOauth::getInstance($type);$extend = null;//腾讯微博if ($type == 'tencent') {$extend = array('openid' => $this->_get('openid'), 'openkey' => $this->_get('openkey'));}$tokenArr = $sns->getAccessToken($code, $extend);/*** $tokenArr 返回的参数* array(4) {*  ["access_token"] => string(32) "EF689CF1CEC547B2C3EA7F1367A3D1E8"*  ["expires_in"] => string(7) "7776000"*  ["refresh_token"] => string(32) "1DA94062299F40B1B7686EDB18D3CCE5"*  ["openid"] => string(32) "A100C2E7A02D9AE2E2AD72442275C34C" 用户唯一识别标志*}*/$openid = $tokenArr['openid'];$token = $tokenArr['access_token'];if ($openid) {$field = strtolower($type);$data = $sns->call('user/get_user_info');//dump($data);die;/*** $data 返回参数* array(18) {*  ["ret"] => int(0)*  ["msg"] => string(0) ""*  ["is_lost"] => int(0)*  ["nickname"] => string(21) "土伦"  昵称*  ["gender"] => string(3) "男" 性别*  ["province"] => string(0) ""*  ["city"] => string(0) ""*  ["year"] => string(4) "1996" 出生年*  ["figureurl"] => string(73) "http://qzapp.qlogo.cn/qzapp/101445751/A100C2E7A02D9AE2E2AD72442275C34C/30" 空间头像*  ["figureurl_1"] => string(73) "http://qzapp.qlogo.cn/qzapp/101445751/A100C2E7A02D9AE2E2AD72442275C34C/50"*  ["figureurl_2"] => string(74) "http://qzapp.qlogo.cn/qzapp/101445751/A100C2E7A02D9AE2E2AD72442275C34C/100"*  ["figureurl_qq_1"] => string(69) "http://q.qlogo.cn/qqapp/101445751/A100C2E7A02D9AE2E2AD72442275C34C/40" QQ头像*  ["figureurl_qq_2"] => string(70) "http://q.qlogo.cn/qqapp/101445751/A100C2E7A02D9AE2E2AD72442275C34C/100"*  ["is_yellow_vip"] => string(1) "0"*  ["vip"] => string(1) "0"*  ["yellow_vip_level"] => string(1) "0"*  ["level"] => string(1) "0"*  ["is_yellow_year_vip"] => string(1) "0"*}*/$num = M('qq')->where(array("q_img"=>$data["figureurl_qq_2"]))->getField("q_num");if($num){$txt = array("q_name"=>$data['nickname'],"q_img"=>$data["figureurl_qq_2"],"q_ip"=>get_client_ip(),"q_time"=>time(),"q_num"=>1,);M('qq')->add($data);}else{M('qq')->where(array("q_img"=>$data["figureurl_qq_2"]))->setInc("q_num");}session("nickname",$data["nickname"]);session("nickimg",$data["figureurl_qq_2"]);$this->redirect('Index/index');} else {echo "<script>alert('系统出错;请稍后再试!');document.location.href='" . __APP__ . "';</script>";}}

four

在回调的时候我们可以写更多的操作和验证,这里我就简单的判断用户是不是在数据库中,在就访问次数+1,不在就存入数据库。大致上就是这些了。

 

posted @ 2017-12-20 19:28 土伦 阅读( ...) 评论( ...) 编辑 收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1621748.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C、C++、VC、MFC网页自动注册、登陆、发帖、留言 QQ注册、QQ申请器源码、源代码

查看文章 【转】C、C、VC、MFC网页自动注册、登陆、发帖、留言 QQ注册、QQ申请器源码、源代码 2012-01-11 10:58 转载自 qq316293804 最终编辑 qq316293804 参考资料&#xff1a; 自动登录yahoo邮箱http://blog.csdn.net/suisuibianbian/archive/2005/12/12/550260.aspx VC采集…

激活函数总结(二十一):激活函数补充(APL、Inverse Cubic)

激活函数总结&#xff08;二十一&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Adaptive piecewise linear&#xff08;APL&#xff09;激活函数2.2 Inverse Cubic激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、…

mozilla美国工程师两秒钟制造百度山寨版

周三下午清华科技园的一个咖啡屋&#xff0c;我和几位国内的blogger–刘兴亮、老杳、詹鹏与mozilla组织的两位美国工程师Aza Raskin 、Dan Mills相聚。两位工程师给我们介绍mozilla全球组织和基金会&#xff0c;还给我们演示了很多超级酷的firefox插件&#xff0c;两个多小时的…

热点故事“百度C2C是“社会化商务”的重大利好”

17号下午&#xff0c;传出了百度C2C的消息&#xff0c;一天之内炸开了锅。 玩聚网象techmeme一样的行动起来&#xff0c;自动语义聚合出来了这个玩聚热点故事- 百度C2C是“社会化商务”的重大利好&#xff0c;一时间麦田的、詹鹏的、wkcow的等一大堆blogger的评论都进来了。百度…

BIOS中的内存测试memtest

参考&#xff1a; https://blog.csdn.net/evenness/article/details/7818857 https://blog.csdn.net/skdkjzz/article/details/17073455 https://blog.csdn.net/sannik/article/details/8930625# 在 U-Boot中&#xff0c;Denx&#xff08;U-Boot的开发商&#xff09;针对常见…

Win系统 - 内存稳定性测试软件(MemTest)

给大家介绍一款免安装的内存稳定性测试软件--MemTest&#xff0c;它不但可以彻底的检测出内存的稳定度&#xff0c;还可同时测试记忆的储存与检索资料的能力&#xff0c;memtest pro汉化版软件体积小巧&#xff0c;绿色免安装&#xff0c;使用简单&#xff0c;有兴趣的小伙伴们…

[Linux] VMware虚拟机开机后直接进入memtest

问题描述 今天碰到一个很难受的问题&#xff0c;昨天写报告的时候虚拟机还是正常的&#xff0c;早上开机的时候忽然报错进不了ubuntu虚拟机直接进入一个memtest的界面&#xff0c;情况大概是这样的&#xff1a; 一开始会报一些“error syntax”“error incorrect command”等错…

内存稳定性测试软件(MemTest)

给大家介绍一款免安装的内存稳定性测试软件--MemTest&#xff0c;它不但可以彻底的检测出内存的稳定度&#xff0c;还可同时测试记忆的储存与检索资料的能力&#xff0c;memtest pro汉化版软件体积小巧&#xff0c;绿色免安装&#xff0c;使用简单&#xff0c;有兴趣的小伙伴们…

MemTest内存软件测试介绍说明-2

有很多测试内存的软件。但是&#xff0c;许多测试只是将一些模式套用到内存上&#xff0c;而没有对内存体系结构或如何最好地检测错误进行深入思考或了解。这对于硬盘故障很有效&#xff0c;但很少发现间歇性错误。基于 BIOS 的内存测试对于查找间歇性内存错误毫无用处。 存储…

002微信小程序云开发API数据库-迁移状态查询/更新索引

文章目录 微信小程序云开发API数据库-迁移状态查询案例代码微信小程序云开发API数据库-更新索引案例代码 微信小程序云开发API数据库-迁移状态查询 在微信小程序中&#xff0c;云开发API数据库是一种方便快捷的数据库解决方案。但是&#xff0c;有时候我们可能需要将云开发数据…

PS 见了都自愧不如,吾爱又出新科技

不知道你们在网上见过这样的段子没有&#xff0c;就是某个网友发一张自己的照片出来&#xff0c;然后请求 P 图大神按要求帮助 P 一下图片。 就比如这种&#xff1a; 每次看到这些脑洞与技术同等存在的恶搞 PS 图片&#xff0c;总是让人笑掉大牙的同时理解了一个道理&#xff…

Photoshop 2023官方正版永久使用(卡BUG,无破解)

长话短说 本教程适用于Photoshop 2023版本&#xff0c;其他版本暂未试过&#xff1a; PS是一款收费软件&#xff0c;初次使用有免费试用期限&#xff0c;免费试用期过了以后按如下方式操作即可卡BUG来继续免费使用&#xff1a; 1、 打开软件 2、 点击在adobe.com…

C#---第二十: partial修饰类的特性及应用

0.知识背景 局部类型适用于以下情况&#xff1a; 类型特别大&#xff0c;不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码&#xff0c;不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类 局部类型的限制: 局部类型只适用于类、接口、结构&am…

闲人闲谈PS之十九——PS模块的未来

惯例闲话&#xff1a;约莫5年前&#xff0c;闲人曾经对自己职业专业产生过一丝疑虑&#xff0c;SAP实施人们都说五大模块&#xff08;SD/PP/MM/FI/CO&#xff09;&#xff0c;PS模块的存在感如同天边的浮云&#xff0c;也就国网、中石油、国能等这些国字头企业里才有PS的存在&a…

价值240万的photoshop中文教程

PS抠图方法 一、魔术棒法——最直观的方法  适用范围&#xff1a;图像和背景色色差明显&#xff0c;背景色单一&#xff0c;图像边界清晰。  方法意图&#xff1a;通过删除背景色来获取图像。  方法缺陷&#xff1a;对散乱的毛发没有用。  使用方法&#xff1a;1、点击…

PS教程(个人精心整理,你也可以成为PS高手)

1.用钢笔在背部勾勒一个翅膀的外形&#xff0c; 2.在当前的工作路径转换成路径1&#xff0c;双击工作路径即可。 3.将路径转换成选区&#xff08;Alt回车&#xff09;&#xff0c;复制一层&#xff0c;羽化3像素&#xff0c; 4.填充白色&#xff0c;选择合适的强度使用涂抹工具…

meta-transfomer

导读 设计一个统一的网络来处理各种模态&#xff08;例如自然语言、2D图像、3D点云、音频、视频、时间序列和表格数据&#xff09;是一项极具挑战性的工作。 本文提出了一个名为Meta-Transformer的框架&#xff0c;利用一个冻结的编码器在没有任何成对多模态训练数据的情况下…

基于寄生捕食算法优化的BP神经网络(预测应用) - 附代码

基于寄生捕食算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于寄生捕食算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.寄生捕食优化BP神经网络2.1 BP神经网络参数设置2.2 寄生捕食算法应用 4.测试结果&#xff1a;5…

大连海事大学

目录 分数201920202021初试专业课复试总成绩资料复习规划一轮二轮三轮四轮英语政治数学分数 2019 2020

京东接班人徐雷

来源 &#xff1a;商业史记 文&#xff0f; 张小迁 2021年9月6日&#xff0c;京东零售CEO徐雷晋升为拥有32万员工的京东集团总裁。至此&#xff0c;中国三大电商平台阿里巴巴、京东和拼多多&#xff0c;创始人都开始隐身到幕后&#xff0c;进入垂帘听政模式&#xff0c;前台则…