php新浪微博的操作类和认证类,就是SDK
优采云 发布时间: 2021-07-18 20:16php新浪微博的操作类和认证类,就是SDK
saetv2.ex.class.php 新浪微博的操作类和认证类是SDK,里面有很多注释可以作为API
Weibolist.php 我们要实现的功能都在这个php页面
文件执行顺序为:index.php->callback.php—>weibolist.php
首先在index.php请求授权,跳转到callback.php后,表示授权成功,然后进入weibolist.php进行相应操作。
在weibolist.php中会实例化一个“微博操作类”,然后就可以进行一系列的方法调用。
3、具体代码实现
首先修改config.php中的配置信息,填写我们刚刚记录的WB_AKEY和WB_SKEY。这里要特别注意填写WB_CALLBACK_URL回调页面地址。 HTTP不能省略,必须填写完整的URL
其实一目了然。导入配置文件、类库、实例化对象、传递参数、调用方法、返回值。
例如:
$c = new SaeTClientV2( WB_AKEY, WB_SKEY, $_SESSION['token']['access_token'] );
Saetv2.ex.class.php中有两个类:微博操作类SaeTClientV2,微博认证类SaeTOAuthV2。
操作类实例化需要的参数($akey, $skey, $access_token),access_token需要从认证类中获取。只有获取到用户的access_token,才能对用户进行操作。
回调.php:
setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
callback.php中获取的access_token保存在session中,可以在创建微博操作类时使用。
$ms = $c->home_timeline();
打开类库文件,找到home_timeline方法,获取当前登录用户及其关注用户的最新微博消息。 API已经写得很清楚了。如果你有更多的时间,你可以阅读源代码。
1 /**
2 * 获取当前登录用户及其所关注用户的最新微博消息。
3 *
4 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
5 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/home_timeline statuses/home_timeline}
6 *
7 * @access public
8 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
9 * @param int $count 每次返回的记录数。缺省值50,最大值200。可选。
10 * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
11 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的微博消息。可选。
12 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
13 * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
14 * @return array
15 */
16 function home_timeline( $page = 1, $count = 50, $since_id = 0, $max_id = 0, $base_app = 0, $feature = 0 )
17 {
18 $params = array();
19 if ($since_id) {
20 $this->id_format($since_id);
21 $params['since_id'] = $since_id;
22 }
23 if ($max_id) {
24 $this->id_format($max_id);
25 $params['max_id'] = $max_id;
26 }
27 $params['count'] = intval($count);
28 $params['page'] = intval($page);
29 $params['base_app'] = intval($base_app);
30 $params['feature'] = intval($feature);
31
32 return $this->oauth->get('statuses/home_timeline', $params);
33 }
很简单吧?找几个方法试试看。
写个表格发个微博试试
哈哈,是不是很简单呢?
再试试获取关注人ID
1 /**
2 * 获取用户的双向关注uid列表
3 *
4 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/bilateral/ids friendships/friends/bilateral/ids}
5 *
6 * @param int $uid 需要获取双向关注列表的用户UID。
7 * @param int $count 单页返回的记录条数,默认为50。
8 * @param int $page 返回结果的页码,默认为1。
9 * @param int $sort 排序类型,0:按关注时间最近排序,默认为0。
10 * @return array
11 **/
12 function bilateral_ids( $uid, $page = 1, $count = 50, $sort = 0)
13 {
14 $params = array();
15 $params['uid'] = $uid;
16 $params['count'] = $count;
17 $params['page'] = $page;
18 $params['sort'] = $sort;
19 return $this->oauth->get( 'friendships/friends/bilateral/ids', $params );
20 }
1
打开获取以下数据:
Array
(
[ids] => Array
(
[0] => 2365402665
[1] => 2874824370
[2] => 2458103930
[3] => 2631415422
[4] => 1726492234
[5] => 3307625345
[6] => 1748961617
[7] => 1898400044
[8] => 5074409657
[9] => 1459729954
[10] => 1960937255
[11] => 3002010437
[12] => 1840024911
[13] => 1933041827
[14] => 3544004403
[15] => 2218615153
[16] => 1710952872
[17] => 3296525792
[18] => 2023869922
[19] => 1136908732
[20] => 5142045518
[21] => 2113440863
[22] => 2882182570
[23] => 2750918083
[24] => 5047720995
[25] => 3237485452
[26] => 2301448374
[27] => 2241922934
[28] => 3194061564
[29] => 1516453591
[30] => 3046227467
[31] => 2990824405
[32] => 2901804343
[33] => 2062251914
[34] => 1846033411
[35] => 3024328843
[36] => 3989444339
[37] => 3937835581
[38] => 2951303393
[39] => 38376110
[40] => 2403647687
[41] => 2637451094
[42] => 2257435150
[43] => 2997619907
[44] => 2272664314
[45] => 1858542007
[46] => 3566646574
[47] => 3017416653
[48] => 2017817897
[49] => 3270778184
)
[total_number] => 198
)
然后我们可以根据UID获取更多信息,比如用户名、基本信息等
内容比较多,就不一一展示了
有兴趣的朋友可以多查看saetv2.ex.class.php文件。
官网提供的API:%E5%BE%AE%E5%8D%9AAPI
好了,到此结束,毕竟只是介绍
有时间写一篇微博开放平台网站的应用介绍~再见