OAuth 2.0 . 第三方 登录 (新浪微博、腾讯QQ)

首先 去 QQ互联、新浪微博开放平台、 申请应用 成功:

注:在 申请应用时  会有<meta property="qc:admins" content="113133650471167627000636" /> 验证 把这段代码粘贴

到你的网站根目录默认访问的文件里的head头信息中。113133650471167627000636 为 应用序列号 每次申请应用和修改 地址等 都会发生变化 如果  不操作 这块代码 就不会检测成功 应用申请不会成功


新浪微博 也一样

然后 编写程序

1、腾讯QQ

index.html

<span style="font-size:18px;"><html>
<header>
<meta property="qc:admins" content="----序列号-----" />
</header>
<a href='https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=———你的APPID———&redirect_uri
=http://———你的网站域名———/index.php&state=test'><img src='qq.jpg'/> </a>
</html></span>

index.php

//获取Authorization Code
$url ='https://graph.qq.com/oauth2.0/token?client_id=101213309'
.'&client_secret=9fbaba03a7ba86f7a08d064f4db5f11b'
 .'&redirect_uri=http://taotao.com133.com/index.php'
 .'&grant_type=authorization_code'
 .'&code='.$_REQUEST['code'];
//访问https://graph.qq.com/oauth2.0/token,传值APPID,APPKEY,并传值到Authorization Code
 $info = file_get_contents($url);//得到Access Token
//print_r($info);die; 
      $params = array();
   parse_str($info, $params);//把接收到的字符串转化为数组
//print_r($params['access_token']);die;   $params['access_token']为接收到的token值
    $url1='https://graph.qq.com/oauth2.0/me?access_token='.$params['access_token'];
$open=file_get_contents($url1);//访问https://graph.qq.com/oauth2.0/me?access_token  传值token  得到callback响应函数
    print_r($open);"<br/>";
    $str1 = substr($open,9,-3);//将得到的字符串截串为json格式数据
    
//print_r($str1);die;
    $arr= json_decode($str1, true);//解析json数据,true设置可以使json数据以数组格式打印出
    print_r($arr['openid']);echo "<br/>";     //$arr['openid']为openid
//die;
    $url2="https://graph.qq.com/user/get_user_info?access_token=".$params['access_token']."&oauth_consumer_key=101213309&openid=".$arr['openid'];//访问https://graph.qq.com/user/get_user_info  传值token,APPID,openid
print_r($url2);    echo "<br/>";
    $data=file_get_contents($url2);//抓取用户信息数据  返回json格式数据
    //print_r($data);exit;
    $arrrrr= json_decode($data, true);
    print_r($arrrrr);die; 

2、新浪微博

<html xmlns:wb="http://open.weibo.com/wb">
<meta property="wb:webmaster" content="-----序列号-------" /></meta>
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=------appkey------" type="text/javascript" charset="utf-8">
</script>
<script type="text/javascript">
<!--
	WB2.anyWhere(function (W) {
    W.widget.connectButton({
        id: "wb_connect_btn",
        type: '3,2',
        callback: {
            login: function (o) { //登录后的回调函数
             alert(o);//用户的信息
   
            },
            logout: function () { //退出后的回调函数
                alert('logout');
            }
        }
    });
});
//-->
</script>
<div id="wb_connect_btn"></div>

</html>



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值