上一篇文章写到用PHP调用腾讯微博json,解释了如何用腾讯官方提供的json数据接口,通过php来调用。这篇文章继续来讨论如何用php来调用新浪微博的json数据。
与腾讯微博json数据调用不同,新浪微博的json调用,需要用户认证。我们讨论最简单的认证方式,通过如下代码实现:
$user = array();
$arr = array();
$user['username'] = array('username'=>'xxxxxx','pwd'=>'xxxxxx','key'=>'xxxxxxxxxxx',);//这里可以添加多用户调用,每行一个
$count = isset($_GET['count']) && $_GET['count'] ? intval($_GET['count']) : 20;//调用条数
$count = $count ? $count : 20;
foreach($user as $u){
$getjson = 'https://'.$u['username'].':'.$u['pwd'].'@api.weibo.com/2/statuses/user_timeline.json?source='.$u['key'].'&count='.$count;//新浪api
$content = file_get_contents($getjson); //自制函数,远程调用
$weibo = json_decode($content, true);
$arr = $weibo['statuses'];
}
其中username数组后面的xxxxxx用新浪微博的用户名代替,pwd数组后面的xxxxxx用登录密码代替,key后面的xxxxxxxxxx去新浪微博开放平台:http://open.weibo.com/apps 去这里建立一个应用,然后在应用里可以看到App key 获得一串数字,填入即可。
通过上面代码,把新浪微博的json数据处理成了数组,储存在数组变量$arr中,然后接下来的就可以对数组$arr进行调用:
for($i=0;$i<$count;$i++){
$arr1 = $arr["$i"];
if($arr1) {
$content='<a title="点击查看这条微博" href="http://weib.sinaapp.com/show/id-'.sprintf('%1.0f', $arr1['id']).'" target="_blank">'.replace_url($arr1['text']).'</a>';
echo $content.'<br/>';
}
}
通过循环调用数组中的数据,把每一条微博消息通过php输出到页面上。
新浪微博json数据调用就这么简单,剩下的工作就是结合div+css给微博加上合适的样式。
