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);
?>
复制代码

posted on 2015-06-14 22:15  areu-me  阅读(205)  评论(0编辑  收藏  举报

导航