php 网页qq一键登录,给网站添加一键qq登录的功能

qq互联官网文档地址:

基本流程:

在qq互联官网申请开发者,审核通过后创建网站应用,网站应用审核通过后会有app id 和 app key 然后所有qq账号的数据都是通过这两个去获取。

都是封装好的函数,直接调用就可以实现各种功能了。

一键登录代码://先放置一键登录qq图片,和打开qq登录界面oa授权地址,参数回调地址

οnclick="javascript:window.open('

client_id=appID&redirect_uri=

state=65c747f767&scope=get_user_info','_self')" width="150">

//QQ回调地址代码:

ini_set('display_errors','on');

include_once( '../../config.php' );//引入qqDemo配置文件

//qq api开始

$code = $_GET['code'];

$state = $_GET['state'];//接收来自点击一键登录按钮后传过来的参数

if(empty($code)||empty($state)){

echo '';

exit;

}else{

//通过code和state的参数获取token

$token = file_get_contents("https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id

=12345&client_secret=1e29c4cd120e&code=".$code."&redirect_uri="

.urlencode('http://www.zixuephp.net/qq/index.php'));

$token_arr = explode('&',$token);

$token0 = explode('=',$token_arr[0]);

if($token0){

//通过token获取qq的唯一openid,token有生存时间

$token0 = $token0[1];

$openid = file_get_contents("https://graph.qq.com/oauth2.0/me?access_token=".$token0);

$id = explode('"',$openid);

$ids = $id[7];

//通过openid获取qq用户信息

$get_info = file_get_contents("https://graph.qq.com/user/get_user_info?oauth_consumer_key=

12345&access_token={$token0}&openid={$ids}&format=json");

$userinfo = json_decode($get_info);

$userinfo = (array)$userinfo;

$uid = $ids;

$name = $userinfo['nickname'];

$head = $userinfo['figureurl_qq_2'];

//通过查询保存数据库的openid判断用户之前有没有登录过

$res = $dbh->query("select * from user where other_id='qq_{$uid}'");

$u = $res ->fetch();

if($u){

session_write_close();

session_start();

$_SESSION['account']=$u['account'];

$_SESSION['uid']=$u[0];

header("Location:iphp.php");

exit;

}

?>

//如果是第一次登录则进行数据保存到数据库

html>

QQ一键登录

----------QQ一键登陆授权成功,信息设置----------

邮箱设置

密码设置

" />

" />

" />

确定

$('#set').click(function(){

var email = $('input[name=account]').val();

var pw = $('input[name=passwd]').val();

var ou_id = $('input[name=ou_id]').val();

var sname = $('input[name=sname]').val();

var head = $('input[name=head]').val();

$.ajax({

type:'post',

url:'reg_process.php',

data:{

'email':email,

'pw':pw,

'ou_id':ou_id,

'sname':sname,

'head':head

},

success:function(data){

if(data=='登陆成功!'){

$('.logintips span').text('登陆成功!3s后自动关闭窗口...');

setTimeout(function(){

window.close();

},3000);

}else{

$('.logintips span').text(data);

}

},error:function(){

$('.logintips span').text('请求出错!');

}

});

});

}else{

echo '';

exit;

}

}

?>

QQ登录的优点,通过“QQ登录”,用户能使用QQ帐号一键登录接入网站,大大降低了用户注册、登录的门槛,借助庞大的QQ用户群,给第三方网站带来更多新用户。

已登录用户还可以将在第三方网站发布、分享的信息即时同步到QQ空间,使网站内容通过好友关系得到进一步的传播,从而提升网站的访问量和用户数。

来源:QQ互联

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现QQ一键加群功能,可以使用Android中的Intent来调用手Q客户端的API。首先需要在AndroidManifest.xml文件中添加拨号权限,如下所示: ``` <uses-permission android:name="android.permission.CALL_PHONE" /> ``` 然后,在代码中定义一个方法,传入官网生成的key,如下所示: ``` public void joinQQGroup(String key) { Intent intent = new Intent(); intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http://qm.qq.com/cgi-bin/qm/qr?from=app&p=android&k=" + key)); try { startActivity(intent); } catch (Exception e) { // 未安装手Q或安装的版本不支持 Toast.makeText(this, "未安装手Q或安装的版本不支持", Toast.LENGTH_LONG).show(); } } ``` 通过调用startActivity(intent)来启动手Q客户端,实现一键加群的功能。如果手Q客户端未安装或安装的版本不支持,可以通过Toast来显示提示信息。记得在调用该方法之前先检查是否已经添加了拨号权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【TextView】实现QQ一键加群功能](https://blog.csdn.net/mingtiannihao0522/article/details/79861250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Unity Android 跳转拨号界面和一键加群](https://blog.csdn.net/weixin_44806700/article/details/123223471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值