实现腾讯qq第三方登录

参考文档链接:

http://wiki.open.qq.com/wiki/website/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_OAuth2.0

文件名为:teng.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta property="qc:admins" content="142144174167310116270006367" /> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="qc:admins" content="142144174167310116270006367" />
</head>
<body>
<a href="https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101218540&redirect_uri=http://zhangsixia.bwphp.cn/tengxun.php&state=test"><img src="qq.png"/></a>
</body>
</html>

php文件名:

<?php
header(‘Content-Type:text/html;charset=utf-8‘);
    //getToken
     $url = ‘https://graph.qq.com/oauth2.0/token?client_id=101218540‘
         .‘&client_secret=034ab318017483c1c2c90cee1fa2dee9‘
         .‘&redirect_uri=http://zhangsixia.bwphp.cn/tengxun.php‘
         .‘&grant_type=authorization_code‘
         .‘&code=‘.$_REQUEST[‘code‘];
     $info = file_get_contents($url);
    $params = array();
    //parse_str() 函数把查询字符串解析到变量中
    parse_str($info, $params);
    //print_r($params);die;
   
   //获取openid
    $url1 = "https://graph.qq.com/oauth2.0/me?access_token=".$params[‘access_token‘]."";
    $info1 = file_get_contents($url1);
    //print_r($info1);die;
    $str = substr($info1,9,-3);
    //print_r($str);die;
    $arr = json_decode($str,true);
    //print_r($arr[‘openid‘]);die;

   //获取用户信息
    $url2 = "https://graph.qq.com/user/get_user_info?access_token=".$params[‘access_token‘]."&oauth_consumer_key=101218540&openid=".$arr[‘openid‘]."";
    $info2 = file_get_contents($url2);
    $data = json_decode($info2,true);
    //print_r($data);

    //判断数据库是否存在
    @$aa = mysql_connect(‘‘,‘‘,‘‘);
    $db = mysql_select_db(‘‘);
    @$selSql = "select userid, token, openid, type from user_oauth where token= ‘".$params[‘access_token‘] ."‘ and type = ‘qq‘";
    $selRe = mysql_query($selSql);
    $num = mysql_num_rows($selRe); //mysql_num_rows() 函数返回结果集中行的数目
    if($num>0)
    {
        echo "欢迎再次登陆!";exit;
    }

    $addSql = "insert into user_oauth (token,openid,type) values (‘".$params[‘access_token‘]."‘,‘".$arr[‘openid‘]."‘,‘qq‘)";
    //echo $addSql;die; 
    $addRe= mysql_query($addSql);
    if($addRe)
    {
        echo "登陆成功!";
        print_r($data);
        exit;
    }
    echo "登陆失败!";exit;

    ?>
时间: 2024-10-09 23:39:38

实现腾讯qq第三方登录的相关文章

腾讯QQ第三方登录,测试账号使用。

创建好应用后,在应用信息管理页面---->选择用户能力----->进阶社交能力---->应用调试者. 在输入框中输入你需要调试的QQ号码并且里面的QQ号码必须是你登录qq账号里面的好友名单. 如果在调试中使用QQ登录出现错误代码:100044的话说明该QQ号没有添加到里面. 使用这种方式可以不需要提交审核上线,使用的测试方法.提交审核通过后这里就没有用了.

QQ第三方登录

QQ第三方登录 在Android应用程序的开发过程中,很多时候需要加入用户登录/注册模块.除了自己动手设计登录界面并实现相应功能外,现在还可以借助百度.腾讯等开发者平台提供的第三方账号登录模块.最近研究了友盟的社会化分享组件,对其提供的SDK中第三方登录的QQ模块进行了测试.本篇文章先对友盟用户注册.SDK下载及案例的下载做一个简单的介绍,然后针对测试程序的过程及代码进行详细的描述. 顺便提一点,进入友盟的主页及SDK下载页面之后,会发现其支持Android.IOS等多个环境下的应用程序开发,感

Android应用之最新版本SDKV2.4实现QQ第三方登录

为什么要写这篇博客呢?因为,我在做这个第三方登录的时候,找了很多资料,发现要么就是过时了,要么就是说的很不清楚,很罗嗦,而且很多都是一些小 demo,不是什么实例,甚至连腾讯官方的文档都有这个问题,文档中很多地方用的不是最新的sdk写的示例,用最新版本的sdk发现根本没法达到预期的效 果,很多api已经发生了变化,demo还是用的原来的api中的方法,最坑爹是demo下载下来还要一个支持的库文件,但是sdk中又没有提供.. 自己跌跌撞撞,查找资料,整合,弄了几个小时,终于把它给整出来了,用在了开

Android应用之——最新版本SDK V2.4实现QQ第三方登录

为什么要写这篇博客呢?因为,我在做这个第三方登录的时候,找了很多资料,发现要么就是过时了,要么就是说的很不清楚,很罗嗦,而且很多都是一些小demo,不是什么实例,甚至连腾讯官方的文档都有这个问题,文档中很多地方用的不是最新的sdk写的示例,用最新版本的sdk发现根本没法达到预期的效果,很多api已经发生了变化,demo还是用的原来的api中的方法,最坑爹是demo下载下来还要一个支持的库文件,但是sdk中又没有提供.. 自己跌跌撞撞,查找资料,整合,弄了几个小时,终于把它给整出来了,用在了开发的

Android 实现QQ第三方登录

在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了. 首先肯定是去下载SDK和DEMO http://wiki.open.qq.com/wiki/mobile/SDK下载 本文是我自己整合后的简单DEMO. 先看下效果图吧 小码哥Html5教程,免费随你看 [点击进入] 24小时阅读30000+,48小时视频下载50000+ H5,JS,CSS,0基础学完独立开发网站/APP! 查 看 小码哥Html5教程,免费随你看 [点击进入] 24

javaEE SSH框架 qq第三方登录及用户绑定

前几天刚申请好域名,下面实现网站的qq第三方登录的功能,javaEE的SSH框架.(一些细节问题没有处理,只是大体上实现) 一:首先说一下需求,第一次使用qq第三方登录的用户需要绑定已有的网站用户名,绑定成功后进入首页.以后再使用qq第三方登录就直接进入网站首页. 二:要想使用qq第三方首先需要申请应用(需要有自己的域名) (1)登录qq互联网站申请应用,http://connect.qq.com/ (2)创建应用 (3)创建好之后还是可以修改的,这里回调地址我用的是域名+back.jsp界面(

javaEE SSH框架 qq第三方登录及用户绑定(java sdk版)

之前有位朋友用js sdk实现了 SSH框架下的qq第三方登录功能,但是我发现使用js sdk 有些无法克服的安全问题,所以我改用java sdk来实现这个功能! 如图,使用java sdk时,回调地址应设置为一个.action链接.(注意!修改回调地址的话,官方不会及时给你审核通过,有的人修改回调地址后一年 官方都没给他审核通过,这意味着[修改回调地址不如 要重新申请一个域名!重新申请一次网站接入]) 使用官方给定的Sdk4J.jar时 控制台会打印许多log信息,这严重影响项目的运行效率,所

使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样

使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的手机应用和网站应用使用的appid不是同一个,所以,获取到的openid也不会相同 那么问题来了同一个QQ,通过手机端第三方登录进去,和通过网站登录进去,因为openid不一样,会生成两个用户 解决方法: 给[email protected]发送邮件,内容格式: 第三方登录,web端返回的openi

利用JS_SDK实现QQ第三方登录

前言 现如今,第三方登录已成为大部分网站必备的一项基础技能,引入时髦的第三方登录不仅能帮你吸引更多的用户,也让你的网站可以充分利用其他大型网站的用户资源.本次教程将让你的网站最快捷便利地引入QQ登录. QQ第三方登录目前提供了JS SDK功能,这也是目前最简单直接的接入QQ互联的方式,没有之一.下面我将通过简单的几步轻松地让你的网站接入QQ登录. 准备工作 在正式接入之前你需要了解以下名词的含义: 1. appid :应用的唯一标识.在OAuth2.0认证过程中,appid的值即为oauth_c