一、实现QQ登录功能

<!DOCTYPE html>
<html lang="zh-cn">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>QQ登录功能 - JSSDK</title>
   </head>
   <body>
     <a href="javascript:void(0)" id="qq_login_btn" _origText="get_user_info 加载昵称中..." title="nickname">QQ登录</span>
     <a href="javascript:void(0)" id="login_btn" _origText="get_user_info 加载昵称中..." title="nickname">QQ登录申请回调地址</span>
     <a href="javascript:void(0)" id="qq_logout_btn" >退出</span>
   </body>
</html>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" charset="utf-8" data-appid="100229030" data-redirecturi=""></script><!--appid和redirecturi可以放在加载js中-->
<script type="text/javascript">
  //检测是否已经登录
  function getInfo() {
    if(QC.Login.check()){
      QC.api("get_user_info")
        .success(function(s){//成功回调
          alert("获取用户信息成功!当前用户昵称为:"+s.data.nickname);
        })
        .error(function(f){//失败回调
          alert("获取用户信息失败!");
        })
        .complete(function(c){//完成请求回调
          alert("获取用户信息完成!");
        });
    }else{
      alert("请登录后体验");
    }
  }

getInfo();

//方法一

//加入QQ登录按钮,这种方法打开的是一个小窗口的网页页面
  /* QC.Login({
    btnId:"qq_login_btn"
  });*/

//方法二
document.getElementById('qq_login_btn').onclick = function(){
    QC.Login.showPopup({
        appId:"100229030",
        redirectURI:""//回调地址必须以http或https开头。回调地址为空时登录成功后直接返回当前登录页面
     });
}

document.getElementById('login_btn').onclick = function(){
    QC.Login.showPopup({
      appId:"101119675",//申请appId 可以返回会跳地址,其中要填写回调地址和名称
      redirectURI:"http://passport.jikexueyuan.com/connect/success?t=qq&state=e1228ead2277a831fdb270bf1e07c726&scope=get_user_info"//回调地址必须以http或https开头。
    });
}

//检测当前登录状态返回值说明:true:说明登录成功。false:说明登录失败。
if(QC.Login.check()){
   document.getElementById('qq_logout_btn').onclick = function(){
       QC.Login.signOut()
       alert("退出")
   }
}

</script>

二、实现分享到QQ好友功能

<!DOCTYPE html>
<html lang="zh-cn">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>分享到QQ好友功能 - JSSDK</title>
   </head>
   <body>
    <a title="分享到QQ后面链接使用的是encodeURIComponent" hidefocus="true" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http%3A%2F%2Fwiki.connect.qq.com%2Fjs_sdk%25e4%25bd%25bf%25e7%2594%25a8%25e8%25af%25b4%25e6%2598%258e%3Fsource%3Dshareqq&amp;desc=%E8%AF%B7%E5%8F%82%E8%80%83QQ%E4%BA%92%E8%81%94%E6%96%87%E6%A1%A3%E5%BA%93%E4%B8%AD%E7%9A%84%E3%80%8AJS_SDK%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E3%80%8B%EF%BC%8C%E5%B8%8C%E6%9C%9B%E5%AF%B9%E4%BD%A0%E6%9C%89%E5%B8%AE%E5%8A%A9%E3%80%82&amp;title=JS_SDK%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E-QQ%E4%BA%92%E8%81%94%E6%96%87%E6%A1%A3%E5%BA%93&amp;summary=&amp;pics=&amp;flash=&amp;site=QQ%E4%BA%92%E8%81%94%E6%96%87%E6%A1%A3%E5%BA%93&amp;callback=http%3A%2F%2Fcgi.connect.qq.com%2Freport%2Freport_vm%3Ftag%3D0%26log%3Djs~sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E_11133_0%26t%3D1467341529006" class="qcShareQQDiv">分享到QQ</a><!--分享到QQ可以把链接直接放到a标签的href中,里面的参数要用encodeURIComponent编码-->

<a class="bt_icon" href="###" id="qcShareQQDiv" title="发送到QQ好友和群">发送到QQ好友和群</a>
   </body>
 </html>
<script>
document.getElementById('qcShareQQDiv').onclick = function(e){
    var  p = {
            url: 'http://connect.qq.com/widget/shareqq/test_iframe_shareqq.html',/*获取URL,可加上来自分享到QQ标识,方便统计*/
            desc: 'QQ分享', /*分享理由(风格应模拟用户对话),支持多分享语随机展现(使用|分隔)*/
            title : 'QQ分享',/*分享标题(可选)*/
            summary : 'QQ分享',/*分享描述(可选)*/
            pics : '',/*分享图片(可选)*/
            flash : '', /*视频地址(可选)*/
            //commonClient : true, /*客户端嵌入标志*/
            site: 'QQ分享'/*分享来源 (可选) ,如:QQ分享*/
        };

var s = [];
        for (var i in p) {
            s.push(i + '=' + encodeURIComponent(p[i] || ''));
        }
        //使用http://connect.qq.com/widget/shareqq/iframe_index.html链接,iframe_index.html是弹出层效果,index.html是新打开页面效果
        var _src = "http://connect.qq.com/widget/shareqq/index.html?" + s.join('&') ;
        window.open(_src);
    };
   
</script>

三、实现分享内容到QQ空间功能

实现分享内容到QQ空间功能和二中实现分享到QQ好友功能的配置使用方法完全一样,只是将前面的链接http://connect.qq.com/widget/shareqq/index.html改成http:

//sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey即可,?后面的完全一样

以上内容参考网址来源于http://connect.qq.com/

QQ JS_SDk相关功能接口的更多相关文章

  1. JNI的替代者—使用JNA访问Java外部功能接口

    摘自:http://www.cnblogs.com/lanxuezaipiao/p/3635556.html JNI的替代者-使用JNA访问Java外部功能接口 1. JNA简单介绍 先说JNI(Ja ...

  2. 微信平台接入Web页面功能接口(C#)

    微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ...

  3. Excel催化剂开源第31波-pdf相关功能实现及类库介绍

    在Excel催化剂刚推出的pdf相关功能中,反馈很热烈,不止是用户层面好多人喜欢,也听到在.NET开发群里有询问pdf在winform上展现的功能诉求,一段时间没写开源篇,生怕大家以为Excel催化剂 ...

  4. 【C/C++开发】【Java开发】JNI的替代者—使用JNA访问Java外部功能接口

    JNI的替代者-使用JNA访问Java外部功能接口 1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言( ...

  5. python web自动化测试框架搭建(功能&接口)——通用模块

    1.通用模块: config.conf: 公共配置文件,配置报告.日志.截图路径,以及邮件相关配置 [report] reportpath = E:\workspace\WebAutomation\s ...

  6. Nginx Rewrite相关功能

    目录 Nginx Rewrite相关功能 ngx_http_rewrite_module模块指令: if指令: set指令: break指令: return指令: rewrite_log指令: rew ...

  7. 使用Hot Chocolate和.NET 6构建GraphQL应用(2) —— 实体相关功能实现

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在本文中,我们将会准备好用于实现GraphQL接口所依赖的底层数据,为下一篇文章具体实现GraphQL接口做 ...

  8. 用JQuery仿造QQ头像裁剪功能

    最近工作真心忙碌,几乎没时间写博客.今天趁周末来仿一个QQ头像裁剪功能插件.效果如下: 所有文件都可在我的Github上下载,从头到尾从简到繁按步骤一共分了9个HTML文件,每个步骤文件里的注释都写的 ...

  9. QQ空间分享功能(二)

    http://sns.z.qq.com/tools/share/demo_html.jsp  手机QQ空间分享功能接入指引: 1.请求地址: http://sns.z.qq.com/share 2.请 ...

随机推荐

  1. ansible 自动化(3)

    批量执行playbooks 远程批量命令执行的另外一种方式是用playbooks:这里是playbooks的官方文档:http://docs.ansible.com/playbooks.html这里有 ...

  2. 详解spring事务属性

    Spring声明式事务让我们从复杂的事务处理中得到解脱.使得我们再也无需要去处理获得连接.关闭连接.事务提交和回滚等这些操作.再也无需要我们在与事务相关的方法中处理大量的try…catch…final ...

  3. 使用ABP时报错“UPDATE 语句与 FOREIGN KEY SAME TABLE 约束"FK_dbo.AbpUsers_dbo.AbpUsers_LastModifierUserId"冲突”的解决办法

    ABP理论学习总目录 一步一步使用ABP框架搭建正式项目系列教程 ABP之Module-Zero学习目录 本篇目录 问题 原因 解决办法 问题 问题的是在下面这种情况下出现的: 我在使用CodeFir ...

  4. 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现

    项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...

  5. Java的一个高性能快速深拷贝方法。Cloneable?

    本人在设计数据库缓存层的时候,需要对数据进行深拷贝,这样用户操作的数据对象就是不共享的. 这个思路实际上和Erlang类似,就是用数据不共享解决并发问题. 1. 序列化? 原来的做法,是用序列化,我用 ...

  6. Java-条件语句、循环语句练习

    题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? double height=0.08; for(int i=1;i>0;i++) { heig ...

  7. [Linux]Linux下redis的安装及配置.

    在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...

  8. MyBatis学习总结(五)——实现关联表查询

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

  9. C#并行编程-Parallel

    菜鸟学习并行编程,参考<C#并行编程高级教程.PDF>,如有错误,欢迎指正. 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 ...

  10. iOS-数据持久化-属性列表

    属性列表 属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfF ...