QQ登录将用户信息存储在cookie中,命名为__qc__k ,请不要占用 __qc__k :

1) :: 在页面顶部引入JS SDK库:
将“js?”后面的appid参数(示例代码中的:100229030)替换成您自己的appid:

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="100229030" charset="utf-8"></script>

2) :: HTML页面中粘贴如下代码,插入QQ登录按钮

<span id="qqLoginBtn"></span>
<script type="text/javascript">QC.Login({btnId:"qqLoginBtn"  //插入按钮的节点id});
</script>

3) :: 调用openapi:

<script type="text/javascript">
var paras = {};QC.api("get_user_info", paras).success(function(s){//成功回调alert("获取用户信息成功!当前用户昵称为:"+s.data.nickname);}).error(function(f){//失败回调alert("获取用户信息失败!");}).complete(function(c){//完成请求回调alert("获取用户信息完成!");});
</script>

返回 json格式的用户信息;请指定接口访问成功的接收参数,如demo中的success(function(s)),即指定将成功返回值传递到s中; 其中所有API的返回均为response对象,包括:data, code, status等属性,分别表示数据、返回码、请求的响应状态

3.2) ※ 调用openapi发分享 [相同url参数只能分享一次]:

<script type="text/javascript">
//从页面收集openapi必要的参数
var paras = {images:"http://y.photo.qq.com/img?s=OnbP8BwOF&l=y.jpg",title:"#QQ互联JSSDK测试#我是标题啊标题",url:"http://connect.qq.com/",comment:"我是评论:转发原因",summary:"我是摘要:内容说明"
};//用jssdk调用openapi
QC.api("add_share", paras).success(function(s){//请自行改写成功回调alert("分享成功,请到空间内查看!");}).error(function(f){//请自行改写失败回调alert("分享失败!");}).complete(function(c){//请自行改写完成请求回调alert("分享完成!");});
</script>

3.3) ※ 调用openapi发微博:

<script type="text/javascript">
var paras = {content : "#QQ互联JSSDK测试#曾经沧海难为水,除却巫山不是云。"};QC.api("add_t", paras).success(function(s){//成功回调alert("发送微博成功,请到腾讯微博内查看!");}).error(function(f){//失败回调alert("发送微博失败!");}).complete(function(c){//完成请求回调alert("发送微博完成!");});
</script>

3) :: 获取openId 与 accessToken

<script type="text/javascript">
if(QC.Login.check()){//如果已登录QC.Login.getMe(function(openId, accessToken){alert(["当前登录用户的", "openId为:"+openId, "accessToken为:"+accessToken].join("\n"));});//这里可以调用自己的保存接口//...
}
</script>

用户通过“QQ登录”登录成功后,可以调用示例代码将获取到openId与accessToken

  • openid是用户身份的唯一标识,请保存在本地,以便用户下次登录时可对应到其之前的身份信息,不需要重新授权。
  • accessToken:表示当前用户在此网站/应用的登录状态与授权信息,也请保存在本地。

原文:http://qzonestyle.gtimg.cn/qzone/openapi/js-sdk-demo.html

完整实例:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="qc:admins" content="12772662310165464510063757" />
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="101037443" data-redirecturi="http://ikeepstudying.com/services/qq.php" data-callback="true" charset="utf-8"></script>  <span id="qqLoginBtn"></span>
<script type="text/javascript">//调用QC.Login方法,指定btnId参数将按钮绑定在容器节点中QC.Login({//btnId:插入按钮的节点id,必选btnId:"qqLoginBtn",    //用户需要确认的scope授权项,可选,默认allscope:"all",//按钮尺寸,可用值[A_XL| A_L| A_M| A_S|  B_M| B_S| C_S],可选,默认B_Ssize: "A_XL"}, function(reqData, opts){//登录成功//根据返回数据,更换按钮显示状态方法var dom = document.getElementById(opts['btnId']),_logoutTemplate=[//头像'<span><img src="{figureurl}" class="{size_key}"/></span>',//昵称'<span>{nickname}</span>',//退出'<span><a href="javascript:QC.Login.signOut();">退出</a></span>'    ].join("");dom && (dom.innerHTML = QC.String.format(_logoutTemplate, {nickname : QC.String.escHTML(reqData.nickname), //做xss过滤figureurl : reqData.figureurl}));//       QC.Login.getMe(function(openId, accessToken){  //       alert(["当前登录用户的", "openId为:"+openId, "accessToken为:"+accessToken].join("\n"));  // }); //这里可以调用自己的保存接口//...}, function(opts){//注销成功alert('QQ登录 注销成功');}
);
</script>

需要注意的是,如果登录地址和回调地址相同的话就要把 data-callback="true" 也加进去,否则弹出窗口不会关闭。如:

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="101037443" data-redirecturi="http://ikeepstudying.com/services/qq.php" data-callback="true" charset="utf-8"></script> 

如果登录地址和回调地址不是同意页面的话就要分别写。

登录页面为

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="101037443" data-redirecturi="http://ikeepstudying.com/services/qq.php" charset="utf-8"></script> 

回调地址为

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-callback="true" charset="utf-8"></script> 

更多参考:

1. sdk下载: http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD

2. sdk文档: http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

3. api文档:  http://wiki.connect.qq.com/api%E5%88%97%E8%A1%A8

QQ登录JS SDK教程,调用openapi接口相关推荐

  1. php qq jssdk,QQ登录JS SDK教程,调用openapi接口

    QQ登录将用户信息存储在cookie中,命名为__qc__k ,请不要占用 __qc__k : 1) :: 在页面顶部引入JS SDK库: 将"js?"后面的appid参数(示例代 ...

  2. 蚂蚁区块链第15课 JS SDK概述及API接口速查

    1,摘要 本文讲解蚂蚁BAAS的JavaScript SDK概述,说明JS SDK对应的API接口速查.其他语言包SDK参考官网其他章节说明即可. 2,JS SDK 说明 JavaScript SDK ...

  3. Jmeter使用教程--调用其他接口使用账号密码登录

    新建一个测试计划 在测试计划右击,添加线程组 线程数:同一个时间起多少线程,不应该太多,不然Jmeter运行起来会卡 Ramp-Up时间:多少秒之内把线程数都跑起来 循环次数:线程数循环多少次,发送多 ...

  4. Android第三方QQ登录,实用教程

    1.登录账号,创建应用,生成APPID与APPKEY 2.下载相关SDK SDK下载地址:https://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD ...

  5. PHP app登录qq,APP配置QQ登录的详细教程

    之前教程不够详细,很多人的APP不能正常使用QQ登录.现在重新整理了一个教程.大家可以参考配置. 为了避免重复注册帐号,安卓APP只能共用网站的QQ登录接口,这就需要你得重新为他申请APP的相关登录接 ...

  6. 第一篇:java调用公共数据接口:QQ在线状态查询(java调用http接口)

    java调用公共数据接口: webxml 前言 一.以webxml上的一个接口为案例 二.查看接口文档 1.查看支持的调用方式 2.确认接口地址与参数 三.编码(找代码直接跳这里!) 1.配置Rest ...

  7. php微博登录授权代码,PHP调用微博接口实现微博登录的方法示例

    在平时项目开发过程中,除了注册本网站账号进行登录之外,还可以调用第三方接口进行登录网站.这里以微博登录为例.微博登录包括身份认证.用户关系以及内容传播.允许用户使用微博帐号登录访问第三方网站,分享内容 ...

  8. js跨域调用php接口,php的json格式和js跨域调用的代码

    function jsontest() { var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage ...

  9. Taro多端开发webview如何区分端,引入SDK,调用相应接口?

    代码如下 const inBrowser = typeof window !== "undefined"; const UA = inBrowser && wind ...

最新文章

  1. Ajax兼容处理+发送请求+接收返回信息
  2. FreeBSD配置防火墙开启SSH服务
  3. python计算机基础_python计算机基础
  4. 64位电脑mysql_Windows 64位操作系统下安装和配置MySQL
  5. Android 官方命令深入分析之android
  6. EC地图编辑器(预览版)
  7. 怎么把git代码导入到本地仓库_git在本地仓库添加了一个tag,如何把这个tag同步到远程仓库?...
  8. html 属性存储对象,在HTML5 localStorage中存储对象
  9. bootstrap页面布局
  10. SQL:PostgreSQL+PostGIS的安装以及C# GDAL开发环境配置
  11. vmware下ubuntu不能上网 = 恢复默认虚拟网络
  12. 解决SVN语言包安装后无法出现下拉框选择
  13. CorelDRAWX4的VBA插件开发(七)形状的静态编号和一键转位图
  14. 新零售做好客流数据分析才是提升线下商场、购物中心人流量的方向
  15. HttpCanary使用指南——静态注入器
  16. 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖
  17. SDS启动失败,提示连接primary节点失败
  18. DateTimePicker:jQuery日期和时间插件
  19. 公共数据库访问连接类
  20. 单片机定时器0,TH0和TL0初值的计算

热门文章

  1. 内存拷贝函数memcpy
  2. java jar合并_多个jar包合并成一个jar包(ant)
  3. c++多线程结束后需要释放_缓刑结束后是否需要继续坐牢?
  4. ubuntu系统显卡、显卡驱动、CUDA、CUDNN的介绍以及版本匹配问题
  5. layui弹出层:使用icon图标小结
  6. text-overflow: ellipsis; 文本溢出隐藏
  7. H5调用手机摄像头,实时拍照上传(旧)
  8. mysql从库延时好高_部署MySQL延迟从库的几个好处
  9. java中国象棋网络对弈,java课程设计---中国象棋对弈系统
  10. 大数据分布式工作流任务调度系统DolphinScheduler v1.3.4