QQ js_sdk第三方授权登录 自定义登录按钮

2023-11-05

STEP 1:

QQ放置页面添加:

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="100311200" data-redirecturi="http://192.168.16.54:8080/getToken.html" charset="utf-8"></script>

<img src="qq.png" onclick="qqLogin()">

function qqLogin() {

   QC.Login.showPopup();

}

替换APPID和回调页面即可。。。

STEP 2:

回调页面存储 openid 和 access_token:

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" charset="utf-8" data-callback="true"></script>
    	<script type="text/javascript">
			if(QC.Login.check()) { //如果已登录
				QC.Login.getMe(function(openId, accessToken) {
					//本地存储登录返回的openid和access_token
					localStorage.setItem("access_token", accessToken);
					localStorage.setItem("openid", openId);
				});
			}
		</script>

STEP 3:

现在就可随心所欲的使用 获取到的openid 和 access_token 调用api接口了

if(QC.Login.check()) {
				console.log(localStorage.getItem("openid"))
				console.log(localStorage.getItem("access_token"))
				//用JS SDK调用OpenAPI获取用户信息
				var paras = {
					access_token: localStorage.getItem("access_token"),
					openid: localStorage.getItem("openid")
				};
				QC.api("get_user_info", paras)
					//指定接口访问成功的接收函数,s为成功返回Response对象
					.success(function(s) {
						//成功回调,通过s.data获取OpenAPI的返回数据
						document.getElementById("qqLoginBtn").innerHTML = "获取用户信息成功!当前用户昵称为:" + s.data.nickname;
					})
					//指定接口访问失败的接收函数,f为失败返回Response对象
					.error(function(f) {
						//失败回调
						console.log("获取用户信息失败!");
					})
					//指定接口完成请求后的接收函数,c为完成请求返回Response对象
					.complete(function(c) {
						//完成请求回调
						console.log("获取用户信息完成!");
					});

				//调用自己的接口,保存信息
			}

 

只是想在img 图片上添加 QQ登录事件!文档中的自定义登录按钮看的我是一脸懵逼 ! 完全不符合自己的要求!愁死人了。

还好最后在百度中找到了showPopup() 完美解决了问题!~~~

主要用到的几个接口文档

2. JS SDK的其他公开方法
2.1. 直接打开QQ登录弹窗
QC.Login.showPopup(oOpts):Window

参数说明:
oOpts:需要指定appId,回调地址redirect_URI。
参数示例如下:
oOpts:{

      appId:"222222",
      redirectURI:"http://yousite.com/qc_back.html"
}

返回值说明:
返回浏览器弹窗对象。
函数使用示例:
QC.Login.showPopup({

   appId:"222222",
   redirectURI:"http://yousite.com/qc_back.html"
});


2.2. 注销当前登录用户
QC.Login.signOut():void


2.3. 获取当前登录用户的Access Token以及OpenID
QC.Login.getMe(function(openId, accessToken){}):void

参数说明:
这里的参数为回调函数,通过回调函数获取openId和accessToken。
openId:用户身份的唯一标识。建议保存在本地,以便用户下次登录时可对应到其之前的身份信息,不需要重新授权。
accessToken:表示当前用户在此网站/应用的登录状态与授权信息,建议保存在本地。 

2.4. 检测当前登录状态
QC.Login.check():Boolean

返回值说明:
true:说明登录成功。
false:说明登录失败。

JS-SDK文档:

http://wiki.open.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91JS_SDK%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E#3._.E8.87.AA.E5.AE.9A.E4.B9.89.E7.99.BB.E5.BD.95.E6.8C.89.E9.92.AE

 

大家可在这里下载我的源码:

https://download.csdn.net/download/handsomclass/10837346
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QQ js_sdk第三方授权登录 自定义登录按钮 的相关文章

  • Android高仿qq及微信底部菜单的几种实现方式

    文章目录 导航类型 第一种方式 侧滑菜单 底部导航 已经实现聊天 表情 图片 位置 语音等信息的发送 第二种方式 Fragment PopupWindow仿QQ空间最新版底部菜单栏 第三种方式 FragmentTabHost实现qq底部Ta
  • 微信js-sdk 分享配置报错config:invalid signature?

    缘起 最近做H5关于微信分享的需求的时候 遇到了大坑 由于没使用过js sdk做微信分享 故查阅了很多资料 大多数博主的代码偏差都不大 于是我借鉴了核心写法 我的代码 wechatApi wechatConfigInit 是封装的微信js
  • QQ js_sdk第三方授权登录 自定义登录按钮

    STEP 1 QQ放置页面添加 img src qq png function qqLogin QC Login showPopup 替换APPID和回调页面即可 STEP 2
  • shell判断一个变量是否为空

    shell判断一个变量是否为空 author 润明 2012 2 1 QQ 226399587 http blog csdn net runming918 判断一个变量是否为空 1 变量通过 引号引起来 如下所示 可以得到结果为 IS NU
  • 后端即服务BaaS

    Bmob LeanCloud 腾讯TAB APICloud 作为移动开发者 你应该了解Baas 后端即服务 移动端免费可用的BaaS接入方案 通过Bmob Android轻松制作一个APP Android高效率编码 第三方SDK详解系列 二
  • 创建Gravatar头像

    Gravatar Globally Recognized Avatar的缩写 是一项用于提供在全球范围内使用的头像服务 只要你在Gravatar的服务器上上传了你自己的头像 你便可以在其他任何支持Gravatar的博客 论坛等地方使用它 它
  • 2010流行语

    2010年的岁尾 记者试图遴选出本年度的十大网络流行语 但总觉得很 纠结 且 鸭梨山大 因为对于一日千里的网络流行语发展速度而言 其实 神马都是浮云 或许明天甚至下一秒更 给力 的词汇就会冒出来 因此 我们作出了一个非常艰难的决定 只做盘点
  • 发布一套很有本土特色的闽南语QQ表情

    发布一套很有本土特色的闽南语QQ表情 作为福建本地人 对闽南语在熟悉不过了 平时朗朗上口的俗话 现在演变成活泼可爱有趣的QQ表情咯 大家喜欢的话可以来收藏 底下有QQ表情导入包 直接导入QQ即可使用了
  • [转自:QQ首页 > 腾讯科技 > 人物 > 正文]金蝶中间件袁红岗:JavaEE5.0是另一震撼

    被业界称为 中国Java第一人 的金蝶中间件首席科学家袁红岗认为 Java EE 5 0 来得并不晚 可能是J2EE诞生以来比较重量级的一次震撼 在中国Java技术界 袁红岗是一个不能忽视的名字 他的观点 及对中间件趋势的看法 是很多人感兴
  • 推拉模式

    推 push 模式是一种基于客户器 服务器机制 由服务器主动将信息送到客户器的技术 联想一下木马的端口反弹技术 在push模式应用中 服务器把信息送给客户器之前 并没有明显的客户请求 push事务由服务器发起 push模式可以让信息主动 快
  • VLC打不开视频文件调试技巧

    用VLC打开TS文件 如果只有视频流的话可以打开 添加进了SRT字幕 打开失败 暴风 QQ影音 KMPlayer都可以正常打开 查询原因 下面是一个VLC自带的查询功能 或按快捷键Ctrl M 打开后的界面如下 注意下面的冗长等级是关键 它
  • H5页面调用扫一扫功能

    想要实现H5页面调用微信扫一扫功能 必须先了解微信JS SDK接口 企业号开发接口文档地址 https qydev weixin qq com wiki index php title E9 A6 96 E9 A1 B5 我们来看下使用的大
  • uniapp 中使用jssdk正确姿势

    这是基于企业项目实战分享 npm方式使用下方进行安装 npm install jweixin module save 安装在项目中的效果如图 接下自己定义个js 引入我们用npm引入的模块 jwx 代码 let jweixin requir
  • Android登录 之 Twitter登录

    作为Android登录 之 GooglePlay登录的姊妹篇 这俩篇主要是对接国外平台登录的文章 作者文笔并不好 但是 管他呢 实现功能不就得了嘛 Twitter官网 兄弟们自带梯子啊 然后按照流程 创建申请什么的 也就不多说了 接下来就是
  • 我是这样来做破解qq,做QQ外挂的 【-】

    file 2005beta2 IQQData IQQCore IDynamicData txt brief 2005beta2 IQQData IQQCore IDynamicData txt v1 0 2005 09 08 23 58 1
  • 程序员如何营销自己

    程序员不要只会埋头写代码 还要学会营销自己 否则职业生涯可能会越走月窄 个人总结了一下 可以用以下办法营销自己 1 加入 N 多 QQ 群 在群里发言 最好是发一些有用的信息 如果实在无话可说 也时不时的冒个泡 证明你的存在 时间久了 问候
  • 关于QQ的技巧

    让电脑只能上到自己的QQ 任何QQ都无法登陆 首先把自己的QQ设置为自动登陆模式 接下来最关键的就是移动或删除QQ主目录下的WizardCtrl dll文件 这样就算别的QQ怎么样也登陆不了的了 如果你想上两个QQ的话就把QQ整个目录复制多
  • 数据库日期处理(转)

    通常 你需要获得当前日期和计算一些其他的日期 例如 你的程序可能需要判断一个月的第一天或者最后一天 你们大部分人大概都知道怎样把日期进行分割 年 月 日等 然后仅仅用分割出来的年 月 日等放在几个函数中计算出自己所需要的日期 在这篇文章里
  • 我刚刚作出了一个非常艰难的决定,还是把这个贴子发出来

    中国电力总公司 我们刚刚作出了一个非常艰难的决定 在腾讯和360停止互相争斗之前 我们决定将在装有QQ软件和360软件的电脑上停止供电 中国电力有幸能陪伴着您成长 未来日子 我们期待与您继续同行 微软中国 我们刚刚作出了一个非常艰难的决定
  • 亲测有效win10系统QQ音乐无法安装

    本人使用win10专业版时 因为一些原因 多次下载qq音乐都无法进入安装界面 找了很多原因都无法解决 最后在网上找到好像是因为火绒的原因 于是关闭火绒 再次尝试安装 遂成功 实在不行可以卸载火绒安全后重启电脑 再从官网重新下载QQ音乐安装包

随机推荐

  • Gnuradio+uhd驱动软件安装流程

    工作时一部分内容 需要用到gnuradio软件配置 属于软件无线电USRP的内容 不属于计算机视觉 只作为记录 一样的花费了较长时间 大概两周 终于安装成功 虽然有点脱离了自己的兴趣爱好 但也算近期的一个成果 将它分享出来 网上资料很杂乱
  • 二十四.刷题.14

    一个数如果恰好等于它的因子之和 这个数就称为 完数 例如6 1 2 3 编程找出1000以内的所有完数 include
  • 解决报错: PostCSS received undefined instead of CSS string

    解决方案1 可能本地有多个nodeJS版本 本地使用了nvm 之前切到另一个版本编译node sass后 再切换到另外一个nodeJS版本 导致的问题 注意 node sass是一个绑定libsass sass的一种版本 的nodeJS库
  • golang 协程的实现原理

    核心概念 要理解协程的实现 首先需要了解go中的三个非常重要的概念 它们分别是G M和P 没有看过golang源代码的可能会对它们感到陌生 这三项是协程最主要的组成部分 它们在golang的源代码中无处不在 G goroutine G是go
  • 一文概括常用图像处理算法

    本文总结了11种常用的图像处理算法 包含了预处理算法以及检测算法 并介绍了一些常用的开发库 一 算法 预处理算法 检测算法 在采集完图像后 首先会对图像进行预处理操作 保证图像的对比度清晰 水平 方便后续图像处理 常用的图像处理算法 1 图
  • 数学建模专栏 - 聚类分析入门:基本概念和MATLAB实现

    摘要 本文将介绍聚类分析的基本概念和MATLAB的实现方法 我们将先介绍聚类分析的概念和应用场景 然后介绍聚类算法的基本原理 最后用一个实际案例来演示如何使用MATLAB进行聚类分析 1 简介 聚类分析是一种无监督学习方法 用于将数据集分成
  • 关于servlet上传图片,显示不出来报 Get http://localhost:9095/assets/img/head/1656901332651.jpg 404错误

    目录 第一种解决方法 第二种解决方法 第三种方法 配置虚拟路径 不建议尝试 上传图片的工具类 我的tomcat是放在E liulanqi apache tomcat 9 0 62 webapps 第一种解决方法 将上传的图片路径改为上到到t
  • Java知识点汇总--多态

    Java多态 1 多态 1 1 多态的概述 1 2 多态中的成员访问特点 1 3 多态的好处和弊端 1 4 多态中的转型 1 5 多态的案例 1 多态 1 1 多态的概述 什么是多态 同一个对象 在不同时刻表现出来的不同形态 多态的前提 要
  • openGL增强表面细节----法线贴图

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 具体实现思路 二 代码 主程序c 着色器程序 效果 源码下载 前言 凹凸贴图的一种替代方法是使用查找表来替换法向量 这样我们就可以在不依赖数学函 数的情况下 对凸起进行
  • 【运维篇】四、服务日志控制

    文章目录 1 日志基础 2 记录日志 3 快速创建日志对象 4 日志级别更改 5 日志输出格式控制 6 日志记录到文件 1 日志基础 日志的作用 编程期调试代码 记录日常运营重要信息 峰值流量 平均响应时长 记录应用报错信息 错误堆栈 运营
  • 游戏开发jenkins杂谈系列:使用Extended Choice Parameter参数化构建

    可以查看 https blog csdn net qq1105273619 article details 91352562
  • IDEA打包jar包详尽流程

    打包流程 1 打开菜单栏File Project Structure 2 点击Artifacts 3 点击 JAR From module with depenencies 4 后弹出如下界面 自此开始 各种问题就来了 首先Module中
  • 基于CC2530的Zstack协议栈的SX1278调试记录

    SX1278Lora模块串口调试记录 串口调试代码 串口获取调试信息 SPI驱动IO口模拟 加深理解用 SX1278的通讯时序 SX1278 SPI通讯间隔要求 SX1278 寄存器设置 实例 实际调试 LORA信道划分建议 关于带宽 只是
  • [Elasticsearch]源码解析:ES如何避免脚本中的危险操作

    一 简述 在我们使用ES进行脚本操作的时候 可以在脚本中使用painless等脚本语言 但我们是否有想过在脚本中进行危险操作类似System exit 0 的时候 ES是怎么规避这种风险的 不废话 上例子 POST trick search
  • (二十八)admin-boot项目之基于MDC的全局日志追踪

    二十八 基于MDC的全局日志追踪 项目地址 https gitee com springzb admin boot 如果觉得不错 给个 star 简介 这是一个基础的企业级基础后端脚手架项目 主要由springboot为基础搭建 后期整合一
  • 服务器怎样创建多台虚拟主机,服务器是如何实现多台虚拟主机

    服务器是如何实现多台虚拟主机 内容精选 换一换 弹性云服务器 Elastic Cloud Server 是一种可随时自动获取 计算能力可弹性伸缩的云服务器 可帮助您打造可靠 安全 灵活 高效的应用环境 确保服务持久稳定运行 提升运维效率 通
  • 调用VSPD的DLL进行二次开发异常解决的解决方法。

    最近在学习 设想做一个实现虚拟串口的C 程序 因为我不会写驱动 于是参考老哥的方法 调用VSPD的DLL开放接口进行实现 从VSPD虚拟COM口安装包解出独立的驱动安装包 虚拟串口开发和EXE程序反解压 http blog csdn net
  • 开机f8修复电脑步骤_只要按一个键,可以修复很多电脑小故障

    经常遇到 客户的电脑开机进不了系统 卡在修复界面 半天没反应 有的开机在检测界面 一直没反应 还有的因为运行的程序太多 开个机要耐着性子 等10多分钟 才能使用电脑 还一直很慢 很卡 要重装系统 又担心很多程序找不到安装程序 只能一直忍 很
  • Python无法打开excel文档解决办法

    问题 无法打开excel文档 解决办法 安装xlrd模块 在cmd命令行下执行 pip install pyexcel xls 如果以上方法无法解决 继续报以下问题 pandas无法打开 xlsx文件 xlrd biffh XLRDErro
  • QQ js_sdk第三方授权登录 自定义登录按钮

    STEP 1 QQ放置页面添加 img src qq png function qqLogin QC Login showPopup 替换APPID和回调页面即可 STEP 2