• 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);
    ?>
    复制代码
  • 相关阅读:
    MySQL、Redis 和 MongoDB 的优缺点
    解决数据库高并发
    数据库事务
    Mysql 数据库存储的原理?
    CSRF
    MVC模型和MVT模型
    AJAX
    正则表达式-re模块
    ddt-数据驱动测试
    python-时间格式化
  • 原文地址:https://www.cnblogs.com/IamQtCreator/p/4575832.html
Copyright © 2020-2023  润新知