第三方新浪微博登录接口之web+php 获取用户信息

先下载php SDK文档,下载地址https://github.com/xiaosier/libweibo,如果没有的话,就在http://open.weibo.com/wiki/SDK里面找php SDK进行下载。

下载完成后只保留saetv2.ex.class.php这个文件(当然你要有兴趣的情况下可以研究下其它文件,基本上都是演示文件)。

a. 通过以下php代码跳转到微博登录页面(注意:这里的回调地址已经要和应用里面的授权回调地址一致)

require_once("./Login/weibo/saetv2.ex.class.php");
$callback_url = "http://www.abc.com/weibo_callback.php";//回调地址,必须是提交网站域名下的某一个url
$obj = new SaeTOAuthV2($client_id, $client_secret);//$client_id就是App Key  $client_secret就是App Secret
$weibo_login_url = $obj->getAuthorizeURL($callback_url);
header("Location:".$weibo_login_url)
b.通过以下代码获取openid和access_token以及用户详细信息

require_once("./Login/weibo/saetv2.ex.class.php");
$obj = new SaeTOAuthV2($client_id, $client_secret);//$client_id就是App Key  $client_secret就是App Secret
$code = $_GET['code'];
$callback_url = "http://www.abc.com/weibo_callback.php";//回调地址,必须是提交网站域名下的某一个url
$keys["code"] = $code;
$keys["redirect_uri"] = $callback_url;
$a = $obj->getAccessToken($keys);//$a是一个数组,里面有uid(用户的编号)和access_token.
$info = file_get_contents("https://api.weibo.com/2/users/show.json?access_token={$a['access_token']}&uid={$a['uid']}");
c . 如果你的网站有自己的账号表user,那么你可以在other_user表里加一个字段userId,通过userId关联你自己网站里的用户表user。当从新浪微博登录页面登录成功后回跳到weibo_callback.php时,可以在这个文件里设置$_SESSION['other_userId'](目的是记住是哪个第三方用户),也就是other_user的id;设置后跳转到账号绑定页面,然后开始绑定你网站的用户,绑定完成后,把被绑定的网站用户user的id存入other_usre表$_SESSION['other_userId']用户的userId。下回用户可以直接通过登录qq就可以找到绑定的那个user用户了,从而成功登录你的网站了。

你可能感兴趣的:(第三方新浪微博登录接口之web+php 获取用户信息)