OAuth2.0协议之新浪微博接口演示
新浪微博接口调用数据代码:
<?php /** * @ Author : LiBo * @ Date : 2013-10-25 * @ File : weiboapi.php * * @ 说明:回调页面http://pressure.manyi.cc/weibo/ok.php中, * 仅做session保存code的值即可。 **/ /** * 开启session,因为授权请求返回的code每次都会变化,而获取access_token是需要传递code的值, * 所以需要用session来存储code的值。 */ session_start(); /** * 过程1:引导需要授权的用户到如下地址: * https://api.weibo.com/oauth2/authorize * ?client_id=YOUR_CLIENT_ID * &response_type=code * &redirect_uri=YOUR_REGISTERED_REDIRECT_URI * * 需要用GET方式请求即可返回code, * 返回的code从url中获取,如下: * http://pressure.manyi.cc/weibo/ok.php * ?code=0da62e01a1e143083d3cb98fe6570fb3 */ echo '<a href="https://api.weibo.com/oauth2/authorize?client_id=2914160891&response_type=code&redirect_uri=http://pressure.manyi.cc/weibo/ok.php">a</a>'; //取session中的code $code = $_SESSION['code']; /** * 过程2:换取Access Token * https://api.weibo.com/oauth2/access_token * ?client_id=YOUR_CLIENT_ID * &client_secret=YOUR_CLIENT_SECRET * &grant_type=authorization_code * &redirect_uri=YOUR_REGISTERED_REDIRECT_URI * &code=CODE * * 必须用POST请求,否则出错! */ echo '<form action="https://api.weibo.com/oauth2/access_token ?client_id=2914160891 &client_secret=0c37ed3a3d78b6cec595826c465fc2c9 &grant_type=authorization_code &redirect_uri=http://pressure.manyi.cc/weibo/ok.php &code='.$code.'" method="POST"> <input type="submit" name="access" value="access_token"> </form>'; /** *因为access_token不会在每次请求的时候改变, *所以这里放到一个变量里即可。 *注意:code是每次请求都会改变,而access_token是一个有固定有效期的值, * 当过了这个有效期,则需要重新授权 */ $access_token = "2.008_chgBB4WNLDa5203e0e92um15ZD"; echo '<form action="https://api.weibo.com/2/statuses/public_timeline.json" method="GET"> <input type="text" name="access_token" value="'.$access_token.'"> <input type="submit" name="access" value="access_token"> </form>'; var_dump($_REQUEST); ?>