调用QQ登录接口,首先要到QQ互联完善开发者认证信息,并通过审核,然后创建一个网站应用,获得APP ID和APP Key,通过审核后即可调用基本接口get_user_info(获得用户信息),实现QQ登录网站功能。

废话不多,上示例代码(QQ登录李维山博客):

<?phpheader("Content-Type: text/html;charset=utf-8");//应用APP ID$app_id = "101486017";//应用APP Key$app_secret = "13a1811780f29d7a5b64e598c38a4494";//应用填写的网站回调域$my_url = "http://www.msllws.top/qqlogin";//Step1:获取Authorization Codesession_start();$code = $_REQUEST["code"];//存放Authorization Codeif(empty($code)) {//state参数用于防止CSRF攻击,成功授权后回调时原样带回$_SESSION['state'] = md5(uniqid(rand(), TRUE));//拼接URL$dialog_url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=".$app_id."&redirect_uri=".urlencode($my_url)."&state=".$_SESSION['state'];echo("<script> top.location.href='".$dialog_url."'</script>");}//Step2:通过Authorization Code获取Access Tokenif($_REQUEST['state'] == $_SESSION['state'] || 1) {//拼接URL$token_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&"."client_id=".$app_id."&redirect_uri=".urlencode($my_url)."&client_secret=".$app_secret."&code=".$code;$response = file_get_contents($token_url);//如果用户临时改变主意取消登录,返回true!==false,否则执行step3  if (strpos($response, "callback") !== false) {$lpos = strpos($response, "(");$rpos = strrpos($response, ")");$response = substr($response, $lpos + 1, $rpos - $lpos -1);$msg = json_decode($response);if (isset($msg->error)) {echo "<h3>error:</h3>".$msg->error;echo "<h3>msg :</h3>".$msg->error_description;exit;}}//Step3:使用Access Token来获取用户的OpenID$params = array();parse_str($response, $params);//把传回来的数据参数变量化$graph_url = "https://graph.qq.com/oauth2.0/me?access_token=".$params['access_token'];$str = file_get_contents($graph_url);if (strpos($str, "callback") !== false) {$lpos = strpos($str, "(");$rpos = strrpos($str, ")");$str = substr($str, $lpos + 1, $rpos - $lpos -1);}$user = json_decode($str);//存放返回的数据 client_id ,openidif (isset($user->error)) {echo "<h3>error:</h3>".$user->error;echo "<h3>msg :</h3>".$user->error_description;exit;}//Step4:使用openid和access_token获取用户信息$user_data_url = "https://graph.qq.com/user/get_user_info?access_token={$params['access_token']}&oauth_consumer_key={$app_id}&openid={$user->openid}&format=json";$user_data = file_get_contents($user_data_url);//获取到的用户信息//以下为授权成功后的自定义操作if($user_data){// ......echo("<script> top.location.href='http://www.msllws.top'</script>");}else{echo '未知错误';}}else{echo("The state does not match. You may be a victim of CSRF.");}

登录效果:

PHP调用QQ互联接口实现QQ登录网站相关推荐

  1. [bhpyg] QQ互联接口 ,第三方帐号登录

    1.介绍 现在很多网站都集成了第三方帐号登录的功能,比如QQ登录.微信登录.微博登录. 使用第三方帐号登录目的,简化用户注册的流程,实现快速的注册登录. 第三方登录基本流程:①跳转到第三方认证页面 ② ...

  2. qq互联android sdk,qq互联.Android

    导读:2.2调用示例,这里以发送文字微博接口的调用为例例,来说明通过requestAsync调用兼容接口的方法:,在上面的调用中,调用获取用户信息接口的示例代码如下:,调用发送带图微博接口的,http ...

  3. java qq音乐接口 api,QQ音乐解析API接口更新:支持HQ,ape,flac无损音质,缓存功能

    {"Code":"OK","keyword":"\u6296\u97f3\u70ed\u6b4c","page ...

  4. 工行银企互联接入详解(5)--使用Java调用银企互联接口

    点此下载源码及配套资源 本文目录 1. 准备工作 2. 创建项目 3. 查看接口文档 4. 编写程序 5. 查看结果 1. 准备工作 需要启动NC,然后启动NC里面的Https客户端服务和签名服务. ...

  5. JavaWeb项目调用QQ登录----QQ互联

    首先要做的在QQ互联申请项目QQ互联官网首页 ,申请通过会得到APPID , APPKey  一 : 在HTML/JSP页面放置符合QQ互联标准的QQ登录图标 附代码: <a href=&quo ...

  6. php中qq授权登录,ThinkPHP利用QQ互联实现网站第三方登录(QQ登录)

    接入QQ互联平台后,我们就可以让用户通过QQ帐号登录来登陆我们的网站,这样减少了注册的繁琐,可以更快 .更便捷的为了我带来更多的用户,下面我们一一起来看下如何通过QQ互联来实现第三方登录. ####申 ...

  7. qq互联登录授权php配置,php如何整合qq互联登录

    相关推荐:<PHP培训> php整合qq互联登录 接入QQ互联平台后,我们就可以让用户通过QQ帐号登录来登陆我们的网站,这样减少了注册的繁琐,可以更快 .更便捷的为了我带来更多的用户,下面 ...

  8. QQ登录, 腾讯开放平台和QQ互联的坑

    最近,项目中,QQ登录的APPid 和key 是 腾讯开放平台的,如果要转换成QQ互联,必须QQ互联关联腾讯开放平台,并审核通过,如果新建一个App的话,再给开发AppID和KEY就会报10044,非 ...

  9. QQ互联与财付通将打通登录态,移动支付更便捷

    随着移动互联网时代的迅猛发展,人类工作和生活方式发生了重大变化,从通讯到生活服务查询,再到线上购物,这一些以往要通过PC完成的动作,现在都只要一个手机就能解决,而支付便成为这个闭环中不可或缺的一个功能 ...

最新文章

  1. ado.net图片点击刷新_华为官方解答为何微信保存的图片不在图库显示
  2. eclipse中在类saolei.Test 中找不到main方法
  3. java bigDecimal and double
  4. 程序员50题(JS版本)(二)
  5. 小学生计算机德育渗透总结,小学信息技术教学德育渗透的研究
  6. SpringBoot系列: Eclipse+Maven环境准备
  7. python网络编程-socketserver模块
  8. 【文献阅读】Stacked What-Where Auto-encoders -ICLR-2016
  9. 技术篇-符号制作-线符号制作
  10. latex在行末出现百分号的作用
  11. JAVA后端开发面试小结
  12. java短信验证码功能发送的验证码如何校验_java实现发送短信验证码
  13. 腾讯云域名的报价表收费标准和活动报价
  14. 用Python绘制当前日期
  15. 微信接口调用权限报: 48001, api unauthorized hint
  16. wps怎么把字缩到最小_wps文字怎么把空行缩小
  17. C语言入门(九)>>>循环 - while循环
  18. 安卓平台的功耗一般分析
  19. 8051单片机的串行通信
  20. 如何做一个智能问答系统及neo4j可视化

热门文章

  1. 一个拖延症晚期患者的锦囊妙计
  2. 在Linux服务器运行jar包并一直处于后台执行
  3. 清华大学下属机构一栏
  4. 怎么把一张普通照片变成证件照?这样做其实非常简单
  5. 日历当前月 日期对应
  6. 图像调整亮度饱和度 c语言,数据增强-亮度-对比度-色彩饱和度-色调-锐度 不改变图像大小...
  7. 色调,饱和度,亮度如何计算
  8. 东欧黑客入侵港股造市图利 半年涉款5300万
  9. JAVA对接海康威视开发文档
  10. html ide iOS,用于ios开发的ide是 ios开发的ide有哪些