找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5685|回复: 1
收起左侧

QQ第三方登录程序编写方法

[复制链接]
ID:90014 发表于 2015-9-14 13:17 | 显示全部楼层 |阅读模式
    序:
    自从8.12天津滨海爆炸到现在一直没上班。闲的手痒痒,由于逃难的时候没有把笔记本带出来。所以自己的小网站也不能继续。网站写着玩的,所以流量与用户一定很少。就不打算做“注册/登录”模块了,这年头出来上网的有几个没有QQ的(其实就是懒。。。)。直接用QQ第三方登录拉取用户资料。我省事、“用户”也省事。

    准备工作:
        1、注册腾讯开发者帐号
        2、申请网站(移动应用)接入
        3、向空间、财付通等需要审核

    简单的Demo:
        1、登录
        2、验证是否登录成功
        3、注销登录
        4、获取OpenID与Access Token
        5、根据OpenID拉取用户资料

    步骤:
        0、引入腾讯JS SDK
        <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
        data-appid="AppID" data-redirecturi="RedirectURL" charset="utf-8"></script>
        
        AppID:网站/移动应用申请的AppID
        RedirectURL:登陆后网站的跳转地址。必须为http或https。具体自己看API吧

        1、登录 (我认为一般网站常用的都是这个样式的登录)
        QC.Login.showPopup({
                    appId: "AppID"
        });

       2、验证是否登录成功
         QC.Login.check()

        成功:true
        失败:false

        3、注销登录
        QC.Login.signOut()

        4、获取OpedID与Access Token
        QC.Login.getMe(function (openId, accessToken) {
        });

        5、 根据OpenID拉取用户资料(有问题)
        这个需要根据OpenID Get请求获取Json数据(用户基础信息),通过Ajax涉及到跨域访问问题。今天太晚了就不研究了,但是我通过拼接出来的字符串是可以获取到用户信息的。
        oauth_consumer_key:AppID
        oauth_consumer_key:accesstoken
        openid:openid
        format :json        // 返回的数据格式

        返回参数说明:
   

    Demo:
   

    原API地址:http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E




    序:
    继上一篇继续德波。上一篇在Ajax请求的时候发生异常。问题是由于Ajax跨域访问的问题,而JS的Ajax出现问题也是这个原因。临睡觉前想了一下既然Ajax不让跨域(非绝对)那我可以搭建一个中间层(我是用的中间层是ASHX一般处理程序)。这样的好处是可以一次请求前后台皆获取到数据,并后台先获取到数据保存到Session中。然后在Response到前台。

    步骤:
    1、前台同样是一个Ajax请求,只是把URL改为本域下的ashx。把必要的参数发送到ashx让他通过WebRequert在去请求外站的接口。后台实现的基本代码为下图(PS:ashx中如果想操作Session必须实现IRequiresSessionState接口):
   
    其中的WebRequestToJson web = new WebRequestToJson();为自己封的工具类,也就是Get请求WebService方法。获取用户信息必须使用Get请求!!!

    2、后台请求后把数据发送到前台就可以了。貌似TX为了保护用户资料只对第三方网站提供了openID,不允许第三方站点获取QQ登录帐号。
   




回复

使用道具 举报

ID:300760 发表于 2018-4-2 11:30 | 显示全部楼层
楼主可以把你的这份源码发给我吗 80403584@qq.com  谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表