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

来源:互联网 发布:数据同步方案 编辑:程序博客网 时间:2024/04/30 10:57

首先 去 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,openidprint_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 0
原创粉丝点击